/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */




                         ********************
                         *                  *
                         *  IQ COMMAND SET  *
                         *                  *
                         ********************




                                                               Bob Cook



Rev 2.0 10/5/95  - current firmware revision: R.02.03
      Add formal support (host & local kybd dialogs) for CIS3 and SIMDIST inlets

Rev 3.4 4/1/96  - current firmware revision: R.02.14
      added aux temperature option to the GCRT run table programming command
      added A1CR,A2CR commands for aux temp cryo setpts
      added aux cryo to the GCCF and A1CW commands
      updated GCST command man page
      updated configuration commands man pages for new cryo, thermal aux, and
         inlet types

Rev 3.5 5/7/96  - current firmware revision: R.02.24

      added DBssTW : Custom Detector Title
      added DBssGW : Custom Detector Gas Labels
      added DBssOW : Open Interface Module Configuration
      added DBssOI : Open Interface Module Setpoints
      added DBssEI : Electrometer Input Board Electronic Setpoints
      added IBssTW : Custom Inlet Title
      added DBssSL : Report/Set Detector Signal Label
      added DBssNU : Micro Electron Capture Detector Pneumatic Setpts
      added DBssUE : Micro Electron Capture Detector Electronic Setpts  DBssEC
      added DBssZW : Report thermal limits configuration
      added IBssZW :   "      "         "
      added A2ssZW :   "      "         "
      added DTssZR : Set/Report zone ramp compensation values
      added DTssZT : Set/Report zone tuning constants
      added DTssZL : Set/Report zone limits

Rev 4.2 9/11/96  - current firmware revision: A.02.13 or R.03.02

      added DBssEL : Convert Signal Board To Electrometer
      added DBssET : Electrometer Title
      added DTssZF : Set the zone to factory defaults
      added DTssZL : Set/Report zone limits
      added DTssZR : Set thermal control ramp compensation parameters
      added DTssZT : Set thermal control PID parameters
      added "slave FPD" detector type response to DFssCW/DBssCW
      added additional documentation to several existing commands

6890N - firmware revision N.04.00 or later

      removed TP commands
      added GCES, GCEL, GCEA and GCED : Exception log
      added CCDM, CCIM, CCLM, CCNM and CCSM : Save/Load named methods
      update CCPM  : New parameter modified bits
      update CCRS  : Two additional reset modes
      update GCSA  : Two more significant digits in temperature values
      update GCRD and GCCD : Allow deletion of single table entries
      update DTCM  : Testing of additional serial ports
      added DTssLA : Set/Report LAN BOOTP mode, addresses and subnet
      added DTssLS : Report LAN card MAC address, serial number and rev
      added GCssSV : Set/Report service counter values
      added DTssIO : Set/Report I/O port bits
      added DTssXR : Cross reference
      added DTEF, DTPF and DTSF : Flash memory
      added DTssRD : Revision date/time
      added DTssBS : Buffer status
      added DTE1 and DTE2 : Thermal environment readings
      update DTST  : Addition uptime and run counters
      update DTAP  : Return zero for atmospheric pressure if no flow board
      update DTCP  : Return value that distinguishes old and new flow boards
      added CCssSX : Sequence control

6890N - firmware revision N.04.09 or later
      modified 00ssIC : added parameter for tray gripper offset
      modified SxssCD : allows 500Hz data rate
      modified 00ssIC : added parameters for f/b inj offset (N.05.00 or later)

-------------------------------------------------------------------------
Location of files:
   /vsrc/vireo/hostcmd/CMDS_HDR
   /vsrc/vireo/hostcmd/CMDS_OVERVIEW
   /vsrc/vireo/hostcmd/CMDS_AUX
   /vsrc/vireo/hostcmd/CMDS_CC
   /vsrc/vireo/hostcmd/CMDS_COL
   /vsrc/vireo/hostcmd/CMDS_DETECT
   /vsrc/vireo/hostcmd/CMDS_GC
   /vsrc/vireo/hostcmd/CMDS_INLET
   /vsrc/vireo/hostcmd/CMDS_OVEN
   /vsrc/vireo/hostcmd/CMDS_SIGNAL
   /vsrc/vireo/hostcmd/CMDS_SPECIAL
   /vsrc/vireo/hostcmd/CMDS_VALVES
   /vsrc/vireo/hostcmd/CMDS_CONFIG
   /vsrc/vireo/hostcmd/CMDS_DT
   /vsrc/vireo/hostcmd/CMDS_ALS




                   ***********************
                   *                     *
                   *  TABLE OF CONTENTS  *
                   *                     *
                   ***********************
***************************************************************************
*  GENERAL INFORMATION:                                                   *
***************************************************************************
***************************************************************************
* AUX COMMANDS:                                                           *
***************************************************************************
A2ssTZ          Set AUX Thermal Zone ON/OFF                        A2ssTZ
A2ssTR          AUX Temperature Ramp                               A2ssTR
A2ssTI          Set Aux Temperature Immediate                      A2ssTI
A2ssTP          Thermal Aux Type                                   A2ssTP
A2ssCR          Thermal Aux Cryo Setpoints                         A2ssCR
A2ssST          Thermal Zone AUX Status                            A2ssST
A5ssNZ          Set AUX Pneumatic Zone ON/OFF                      A5ssNZ
A4ssPR          Aux Pressure Ramp                                  A4ssPR
A4ssPI          Set Aux Pressure Immediate                         A4ssPI
A4ssCF          Aux Configuration                                  A4ssCF
A4ssST          Aux Pressure Status                                A4ssST
A4ssPZ          Calibrate Aux Zero Pressure                        A4ssPZ
A4ssPV          Calibrate Aux Pressure                             A4ssPV
AXssLS          Aux Calibration Status                             AXssLS
AXssLX          Change Aux Calibration Status                      AXssLX
***************************************************************************
* CHEMCOMM COMMANDS:                                                      *
***************************************************************************
CCssID          Identify                                           CCssID
CCssIW          Workfile Identify                                  CCssIW
CCssRS          Global Reset                                       CCssRS
CCssPM          Read Parameter Modified Flags                      CCssPM
CCssMF          Upload Formatted GC Parameter Listing              CCssMF
CCssMD          Upload/Download Unformatted GC Method              CCssMD
CCssMC          Check GC Method                                    CCssMC
CCssMW          GC Method Warnings                                 CCssMW
CCssMX          Set Method Setpoints to Defaults                   CCssMX
CCssMI          Install GC Method                                  CCssMI
CCssSL          Download/Upload Sequence                           CCssSL
CCssSC          Check Sequence                                     CCssSC
CCssSI          Install Sequence                                   CCssSI
CCssC1          Single Column Comp Configure                       CCssC1
CCssCR          Single Column Comp Start Run                       CCssCR
CCssCS          Single Column Comp Status                          CCssCS
CCssPO          Open Pass Through Path to Sampler Port             CCssPO
CCssPC          Close Pass Through Path to Sampler Port            CCssPC
CCssPL          List Pass Through Paths                            CCssPL
CCssCH          Configure Host Serial Port                         CCssCH
CCssER          Read Error Log For Host Commands                   CCssER
***************************************************************************
* COLUMN COMMANDS:                                                        *
***************************************************************************
C2ssNR          Column Pneumatics Ramp                             C2ssNR
C2ssPI          Set Column Pressure Immediate                      C2ssPI
C2ssFI          Set Column Flow Immediate                          C2ssFI
C2ssVI          Set Column Velocity Immediate                      C2ssVI
C2ssCF          Column Configuration                               C2ssCF
C2ssPW          Column Expected Minimum Peak Width                 C2ssPW
C2ssCC          Calibrate a column                                 C2ssCC
C2ssIC          Install(ed) Column                                 C2ssIC
***************************************************************************
* DETECTOR COMMANDS:                                                      *
***************************************************************************
DBssTZ          Detector Thermal Zone ON/OFF                       DBssTZ
DBssTR          Detector Temperature Ramp                          DBssTR
DBssTI          Set Detector Temp Immediate                        DBssTI
DBssNZ          Set Detector Pneumatic Channels On/Off             DBssNZ
DBssFI          Flame Ionization Detector Electronic Setpoints     DBssFI
DBssFP          Flame Photometric Detector Electronic Setpoints    DBssFP
DBssTC          Thermal Conductivity Detector Electronic Setpoints DBssTC
DBssEC          Electron Capture Detector Electronic Setpoints     DBssEC
DBssUE          Micro Electron Capture Detector Electronic Setpts  DBssEC
DBssNP          Nitrogen/Phosphorus Detector Electronic Setpoints  DBssNP
DBssAI          Analog Input Board Electronic Setpoints            DBssAI
DBssNI          Flame Ionization Detector Pneumatic Setpoints      DBssNI
DBssNF          Flame Photometric Detector Pneumatic Setpoints     DBssNF
DBssNT          Thermal Conductivity Detector Pneumatic Setpoints  DBssNT
DBssNE          Electron Capture Detector Pneumatic Setpoints      DBssNE
DBssNU          Micro Electron Capture Detector Pneumatic Setpts   DBssNU
DBssNN          Nitrogen/Phosphorus Detector Pneumatic Setpoints   DBssNN
DBssDA          Detector DAC Setpoints                             DBssDA
DBssSL          Report/Set Detector Signal Label                   DBssSL
DBssST          Detector Status                                    DBssST
DBssCF          Detector Configuration                             DBssCF
DBssMF          Detector Maximum Gas Flow Rates                    DBssMF
DBssTW          Custom Detector Title                              DBssTW
DBssGW          Custom Detector Gas Labels                         DBssGW
DBssOW          Open Interface Module Configuration                DBssOW
DBssOI          Open Interface Module Setpoints                    DBssOI
DBssEI          Electrometer Input Board Electronic Setpoints      DBssEI
DBssEL          Convert Signal Board To Electrometer               DBssEL
DBssET          Electrometer Title                                 DBssET
DBssZF          Calibrate Detector Fuel Flow Zero                  DBssZF
DBssZU          Calibrate Detector Util Flow Zero                  DBssZU
DBssZM          Calibrate Detector Makeup Flow Zero                DBssZM
DBssLF          Calibrate Detector Fuel Flow                       DBssLF
DBssLU          Calibrate Detector Util Flow                       DBssLU
DBssLM          Calibrate Detector Makeup Flow                     DBssLM
DBssLS          Detector Calibration Status                        DBssLS
DBssLX          Change Det Calibration Status                      DBssLX
DBssAO          Adjust Offset                                      DBssAO
***************************************************************************
* DISPLAY COMMANDS:                                                       *
***************************************************************************
GCssDL          Restore Display To Local Display Buffer            GCssDL
GCssDH          Display Host Display Buffer                        GCssDH
GCssDR          Control REMOTE LED of the Display                  GCssDR
GCssD1          Read/Write Display                                 GCssD1
GCssDI          Get Indicator Status                               GCssDI
***************************************************************************
* KEYBOARD COMMANDS:                                                      *
***************************************************************************
GCssKB          Read Keycode Buffer Read                           GCssKB
GCssKP          Keycode Programming                                GCssKP
GCssKC          Configure Keyboard                                 GCssKC
GCssPU          Set Pressure Units                                 GCssPU
GCssST          Get Status Info                                    GCssST
GCssHR          Host Readiness                                     GCssHR
GCssRY          GC Readiness                                       GCssRY
GCssSI          Get Sample Info                                    GCssSI
GCssRL          Get GC Run Log Entry                               GCssRL
GCssSP          Stop Run                                           GCssSP
GCssSR          Start Request                                      GCssSR
GCssPR          Prep Run                                           GCssPR
GCssPO          Post Run Setpoints                                 GCssPO
GCssTM          Set and Retrieve Time and Date                     GCssTM
GCssRI          Run State and Time Information                     GCssRI
GCssRT          Add Run Table Entry                                GCssRT
GCssRD          Run Table Delete                                   GCssRD
GCssRR          Run Table Read                                     GCssRR
GCssCT          Add or Read Clock Table Entry                      GCssCT
GCssCD          Clock Table Delete                                 GCssCD
GCssCR          Clock Table Read                                   GCssCR
GCssB1          Read/Write Mailbox                                 GCssB1
GCssSA          GC Setpoints and Actuals                           GCssSA
***************************************************************************
* INLET COMMANDS:                                                         *
***************************************************************************
IBssTP          Inlet Type                                         IBssTP
IBssTZ          Inlet Thermal Zone ON/OFF                          IBssTZ
IBssTR          Inlet Temperature Ramp                             IBssTR
IBssTI          Set Inlet Temp Immediate                           IBssTI
IBssCR          Inlet Cryo Setpoints                               IBssCR
IBssNZ          Inlet Pneumatics   ON/OFF                          IBssNZ
IBssPI          Set Inlet Pres Immediate                           IBssPI
IBssFI          Set Inlet Flow Immediate                           IBssFI
IBssSP          Split/Splitless Inlet Pneumatics Setpoints         IBssSP
IBssCP          Cool On Column Inlet Pneumatics Setpoints          IBssCP
IBssPP          Purged Packed Inlet Pneumatics Setpoints           IBssPP
IBssMS          Manual Split/Splitless Inlet Setpoints             IBssMS
IBssVP          PTV Inlet Pneumatics Setpoints                     IBssVP
IBssDP          AC Sim. Dist. Inlet Pneumatics Setpoints           IBssDP
IBssGP          CIS3 Gerstel PTV Inlet Pneumatics Setpoints        IBssGP
IBssGV          CIS4 Gerstel PTV Inlet Pneumatics Setpoints        IBssGV
IBssVI          Volatiles  Inlet Pneumatics Setpoints              IBssVI
IBssST          Inlet Status                                       IBssST
IBssCF          Inlet Configuration                                IBssCF
IBssAC          Inlet Calibration - Enable Flow Sensor Auto Zero   IBssAC
IBssZP          Inlet Calibration - Set Zero Pressure Now          IBssZP
IBssZF          Inlet Calibration - Set Zero Flow Now              IBssZF
IBssZS          Inlet Calibration - Flow Zero Status               IBssZS
IBssLP          Calibrate Inlet Pressure                           IBssLP
IBssLF          Calibrate Inlet Flow                               IBssLF
IBssLS          Inlet Calibration Status                           IBssLS
IBssLX          Change Inlet Calibration Status                    IBssLX
IBssRC          Inlet Purge Regulator Terms                        IBssRC
IBssTW          Custom Inlet Title                                 IBssTW

***************************************************************************
*  OVEN COMMANDS:                                                         *
***************************************************************************
OVssTI          Set Oven Temp Immediate                            OVssTI
OVssTZ          Set Oven Thermal Zone ON/OFF                       OVssTZ
OVssTR          Set Oven Temperature Ramp                          OVssTR
OVssCR          Cryo Setpoints                                     OVssCR
OVssSP          Oven Miscellaneous Setpoints                       OVssSP
OVssCF          Oven Configuration                                 OVssCF
OVssTP          Set Oven Type                                      OVssTP
OVssST          Oven Status                                        OVssST
OVssTO          Oven Post Run Setpoints                            OVssTO
OVssCL          Oven Calibration                                   OVssCL
OVssLS          Oven Calibration Status                            OVssLS
***************************************************************************
*  SIGNAL PATH COMMANDS:                                                  *
***************************************************************************
S2ssST          Query Signal Status                                S2ssST
S2ssCS          Configure Signal Path                              S2ssCS
S2ssCD          Configure Digital Signal Path                      S2ssCD
S2ssCA          Configure Analog Signal Path                       S2ssCA
S2ssZA          Zero Analog Output                                 S2ssZA
S2ssRD          Read Signal Data                                   S2ssRD
S2ssSR          Start Data Acquisition                             S2ssSR
S2ssSP          Stop Data Acquisition                              S2ssSP
S2ssRS          Reset Signal                                       S2ssRS
S2ssSF          Report Signal Scaling Information                  S2ssSF
SSssSR          Start Data Acquisition                             SSssSR
SSssSP          Stop Data Acquisition                              SSssSP
SSssRS          Reset Signal                                       SSssRS
SSssDT          Digital Signal Path Test Mode                      SSssDT
***************************************************************************
* VALVES COMMANDS:                                                        *
***************************************************************************
VxssSW          Switching or Other Valve Setpoints                 VxssSW
VxssGS          Gas Sampling Valve Setpoints                       VxssGS
VxssMP          Multiposition Valve Setpoints                      VxssMP
VxssCF          Valve Configuration                                VxssCF
VXssGI          Start GSV Injection                                VXssGI
VXssGA          Abort GSV Injection                                VXssGA
VXssST          Valve Status                                       VXssST
***************************************************************************
* SPECIAL COMMANDS:                                                       *
***************************************************************************
GCssIN          INET Initialize                                    GCssIN
GCssRN          Set Run State                                      GCssRN
MVssPL          Column Compensation Has Started/Stopped            MVssPL
MVssKC          Start Column Compensation Key Pressed              MVssKC
MVssKP          Prepare Key Pressed                                MVssKP
MVssKS          Stop Key Pressed                                   MVssKS
MVssEN          Normal End Of Run Indication                       MVssEN
MVssPR          Normal End Of Post Run Indication                  MVssPR
GCssSQ          Do Sequence Step                                   GCssSQ
GCssSS          Get Sequence Status                                GCssSS
                INET Start Key Indication
                INET Start Run
***************************************************************************
* WORFILE CONFIGURATION COMMANDS:                                         *
***************************************************************************
xxssCW             Report Instrument Configuration                 xxssCW
   GCssCW
   OVssCW
   IFssCW
   IBssCW
   C1ssCW
   C2ssCW
   DFssCW
   DBssCW
   A1ssCW
   A2ssCW
   A3ssCW
   A4ssCW
   A5ssCW
   V1ssCW
   V2ssCW
   V3ssCW
   V4ssCW
   V5ssCW
   V6ssCW
   V7ssCW
   V8ssCW
   ASssCW
   DFssZW   Thermal limits configuration
   DBssZW
   IFssZW
   IBssZW
   A1ssZW
   A2ssZW

***************************************************************************
* GC CONFIGURATION COMMAND:                                               *
***************************************************************************
GCssCF          Report Configuration                               GCssCF

***************************************************************************
* ECHO COMMANDS:                                                          *
***************************************************************************
xxssEO          Echo Command                                       xxssEO

***************************************************************************
* Diagnostic Command Set Summary                                          *
***************************************************************************

 I.     instrument status commands:
        DTCL    -       clear diagnostics mode (return instrument to working
                        setpoints)
        DTDS    -       report status of the signal and pneumatics DSP's
        DTHS    -       set the instrument in hacksaw mode
        DTMD    -       manufacturing date
        DTPS    -       report power supply voltages
        DTRV    -       report firmware revision
        DTSN    -       instrument serial number
        DTST    -       instrument statistics: uptime and # of start runs
        DTS1    -       read a single data point from signal 1
        DTS2    -       read a single data point from signal 2

 II.    test commands:
        DTCM    -       communication port tests
        DTCP    -       report results of CPU's power-on tests
        DTDA    -       D/A to mux'ed A/D loop back test
        DTSK    -       skip next power-on-self-test

 III.   mux'ed adc commands:
        DTAD    -       Set mux'ed a-to-d test parameters
        DTMX    -       Mux'ed a-to-d time response test

 IV.    detector commands:
        DTDF    -       front detector state
        DTDB    -       back detector state

 V.     heated zone commands:
        DTOV    -       execute oven heater and fan relay test on next power-on
        DTZC    -       Set constant thermal zone duty cycle mode on/off
        DTZD    -       Set constant thermal zone duty cycle
        DTZF    -       Set the zone to factory defaults
        DTZG    -       Set thermal zone PID constants
        DTZL    -       Set/Report zone limits
        DTZN    -       Set thermal zone tune type
        DTZP    -       Report the thermal zone wattage sense ranges
        DTZR    -       Set/Report zone ramp compensation values
        DTZT    -       Set thermal control PID parameters

 VI.    pneumatics commands:
        DTEN    -       Read environment adc reading noise from the pneumatics
                        board
        DTEV    -       Read environment adc reading voltages from the
                        pneumatics board
        DTIF    -       Front inlet diagnostic values
        DTIB    -       Back inlet diagnostic values
        DTIV    -       Manually operate inlet solenoid valves
        DTMI    -       Read pneumatics module information
        DTMT    -       Read filtered voltages from the pneumatics module
                        temperature sensors
        DTPD    -       Set pneumatic duty cycle
        DTPN    -       Read voltages noise from the pneumatics sensors
        DTPO    -       Read calculated offsets for the pneumatics sensors
        DTPR    -       Read actual setpoints and actuals of the pneumatics
        DTPV    -       Read filtered voltages from the pneumatics sensors
        DTRE    -       Dumps the contents (and def'n) of an EEPROM location
        DTAP    -       Returns the current value for atmospheric pressure
        IFFZ    -       Sets factory zero on the pressure sensor
        IBFZ    -       Sets factory zero on the pressure sensor
        DFFZ    -       Sets factory zero on the pressure sensors
        DBFZ    -       Sets factory zero on the pressure sensors
        AXFZ    -       Sets factory zero on the pressure sensors


/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */


                    *************************
                    *                       *
                    *  GENERAL INFORMATION  *
                    *                       *
                    *************************
                   

This document describes the commands which may be used by a host to
control the 6890 over its communication port.  The same command set
is used for for all communication links except INET.  So this 
document is valid for the built in HPIB, and host serial port, plus 
any supported MIO card (such as LAN) except INET.

The basic format of an instruction is:
   <DL><SL><OpCode><Sp><P1>,P2>,<P3>...
      <DL> = destination location also known as <dsap> 
	 (destination service access point).
      <SL> = source location also known as <ssap> (source service 
	 access point).
	 Within 6890 some of the valid locations are:
	    IF, IB - front and back inlet
	    DF,DB - front and back detector
	    C1,C2 - column 1 and 2
	    S1,S2 - Signal source 1 and 2
	 The host is free to pick its own two character locations:
      <OpCode> = operation code indicates the type of command.
      <Sp> = space character.
      <P1> = first parameter.
      <P2> = second parameter.
      <P3> = third parameter.

Commands and responses begin with addressing. Two characters for
destination and two characters for source location.  The source
location refers to where the command or response originated,  and
the destination location refers to the consumer of the command or
response. For example, a command sent from a process (HT) on the
host workstation may request the status (ST) of the front inlet (IF)
by sending DFHTST.  The 6890 would execute the command and return
the status: HTIFST 0,0,50,24,28,15694,4,656480,320.  Notice that
the source and destination location changed.

The OpCode may be any length between 2 and 8 characters and must be
followed by a space.  All 6890 commands use two characters for the
OpCode.  Parameters may be alpha character keywords or signed decimal
numbers.  Parameters are separated by commas.  Non-printable
characters are stripped from the beginning and end of the message to
remove any link related read sequence or terminating sequence.  White
space will be allowed.  The general format of a command is:

<NP><DL><WS><SL><WS><OpCode><Sp><WS><P1><WS>,<WS><P2><WS>,<WS><P3>...<NP>
   <NP> = non printable characters (outside of ASCII range 0x21 
      through 0x7E.)
   <WS> = white space characters (space or tab.)

If the workstation wants to change certain parameters of a command 
without affecting others, it may omit the parameters that are not 
changing.  Note, commas must still be present to indicate parameter 
position.   In other words, if a parameter is missing that parameter 
left unchanged.

Any parameter returning a bit field will always be formatted with lowest
significant bits to the right - bit32, ... bit2, bit1, bit0.

Parameters of the same type will be specified in one set of units and 
significance.  For example, temperature will always be specified in
degree Celsius.  If more significance is given, the value will be
accepted but it will be truncated ( 225, 225.01, 225.999 will all be
interpreted as 225 deg C.)  The table below gives the units and 
number of significant digits used by 6890 for each parameter type:

	Parameter  	Unit 		Decimal
	Type				Significance
       ---------------+--------------+------------------
	Temperature 	deg Celsius 	XXX

	Time 		minutes 	XXXX.XX

	Flow 		ul/min 		XXXXXXXX

	Pressure 	dyne/cm2 	XXXXXXXX

	Velocity 	um/sec 		XXXXXXXXX

	Rate 		unit/min 	XXX.XX

	Peak Width	mm 	 	XXX.XXX

	Film Thickness 	Angstroms	XXXX

	Col Diam 	micron 		XXXXX

	Col Length 	centimeters 	XXXXX

	Split Ratio 	unitless 	XXXXXXXX

	Clock Time 	HHMMSS  	XXXXXX

	Date    	DDMMYY   	XXXXXX

	Calib Time  	sec since 1980	XXXXXXXXXXXX

CONVERSION FACTORS:

      dyne/cm2 = 68947.57 * PSI
      dyne/cm2 = 1.0E4 * KPA
      dyne/cm2 = 1.0E6 * BAR

The maximum input message size for the 6890 is 500 bytes and the maximum
output message size is 1000 bytes.

Multiple commands may be sent together.  Each command must be separated 
by a semicolon ';'.  The total number of bytes must be less than the maximum
input message size.  If more than one of the commands issue a response, 
the responses will be returned as separate responses.

Because of interactions between commands, if multiple changes are made to
the 6890 they should be made in the following order:
    1) column configuration commands,
    2) inlet configuration commands,
    3) detector configuration commands,
    4) aux configuration commands,
    5) other configuration commands,
    6) oven setpoint commands,
    7) inlet setpoint commands,
    8) detector thermal commands,
    9) detector pneumatic setpoint commands (e.g. DFssNI),
   10) detector pneumatic on/off command (e.g. DFssNZ),
   11) detector electronic setpoint commands (e.g. DFssFI),
   12) column setpoint commands.
   13) aux setpoint commands,
   14) inlet pneumatic on/off command (e.g. IFssNZ),
   15) aux pneumatic on/off command (e.g. A3ssNZ),
   16) other commands,


An IQ workfile contains setpoint information and configuration information.
The the workfile is made up of a series of individual setpoint commands
separated by semicolons.  

Commands are not always executed in the same order that they where received
by the 6890.  Commands with the same two character location will always be
executed in the order they arrive, and commands within a group are also
executed in order.  However, there is no guarantee on the order of execution
of commands from different groups. The 6890 was organized in this fashion
so commands which take a long time to execute will not block commands
which respond quickly.  The following gives the 7 groups within the 6890.

   1) CC
   2) S1
   3) S2
   4) SS
   5) GC,OV,IF,IB,DF,DB,C1,C2,A1,A2,A3,A4,A5,V1,V2,V3,V4,V5,V6,V7,V8
   6) AS
   7) DT

To allow the integrator to align the plots from two channels a command 
is available to start data acquisition on both channels simultaneously.
This eliminates the time delay uncertainty associated with starting one 
channel and then starting the other.

The 6890 has two data buffers, there is a 400,000 byte buffer for
each signal channel. The data is stored in a compressed format and
the amount of compression depends on the characteristics of the signal.
Typical chromatographic data may be saved as 2 bytes per points, which
is the best compression.  However, if the signal is making large swings
in amplitude the algorithm will save at 8 bytes per point.

The following table was created experimentally using the 6890 with
out the host removing data from the 6890's signal buffers. Two types
of signals where used, one was a very compressible signal and the 
other could not be compressed.  The signals used for the table were
generated to provide best and worst case conditions.  Real detector
signals will be between the two extremes and typically near the
compressible signal data.

          Data  | Compressible |   Time to   | Number of 
          Rate  |    Signal    | Fill Buffer |  Points 
        --------+--------------+-------------+-----------
        200 Hz  |     Yes      | 16 min 40 s |   199,697
        200 Hz  |      No      |  4 min 11 s |    50,012
         20 Hz  |     Yes      | 2 hr 46 min |   199,698
         20 Hz  |      No      | 41 min 54 s |    49,999


***************************************************************************
***************************************************************************
*  LINK CHARACTERISTICS                                                   *
***************************************************************************

HPIB:
  maximum transfer rate with UNIX 700 series machine was 750,000kbytes/sec

RS232:
  At the maximum baud rate of 19200 and using a worst case signal (rapidly
  changing test signal A11), HP ChemStation data collection does not
  fall behind for data rates up to 50 Hz.  For typical signals the ChemStation
  does not fall behind for data rates up to 100 Hz.

  Need buffered UART (16550) in PC or get data overrun error on the PC.
  With a non buffered UART (8250) the maximum data rate is 2400. The 16550
  UART worked reliably up to a data rate of 19200.
  Have seen problems on 486 25Mhz PC containing 16550 when using 19200 with
  or without data pacing.

  Data pacing should not be needed when sending data from a host to the 6890.
  The 6890 can reliably receive data at 19200.  If the host needs to pace 
  data from the 6890, it may use software handshake (XON/XOFF) or hardware
  handshake (HARDWARE or UART).  The UART hardware handshake is the most
  efficient method for the 6890, but the host may not send more than one
  byte after the RTS line is set false.  In the HARDWARE hardware handshake 
  mode the 6890 will except multiple bytes after RTS is set false.

  ChemStation Setup:

In \windows\win.ini set link 3 to rs232:
---------------------------------------
link1 to LAN at IP address 15.9.55.3
link2 to HPIB at address 1 
link3 to RS232 at com1,19200,no parity,8 bits,flow cntrl specified in iqrs2322 

Path=C:\HPCHEM
Links=1,2,3
Link1=ARPALAN,IP:15.9.55.3;9100
Link2=HPIB,1,7,0,3
Link3=RS232,COM1:19200,n,8,1,p INITFILE=\hpchem\iqrs232.ini,rs232
Applications=HPGC
Instruments=1
Devices=3
;For lan
Device1=1,0,68GC
;For hpib
Device2=2,1,68GC
;For RS232
Device3=3,0,68GC


In \hpchem\iqrs232.ini for hardware flow control 
------------------------------------------------

[rs232]
RlsTimeout = 0
CtsTimeout = 0
DsrTimeout = 0
fBinary = FALSE
fRtsDisable = FALSE
fOutxCtsFlow = TRUE
fOutxDsrFlow = FALSE
fDtrDisable = TRUE
fOutX = FALSE
fInX = FALSE
fPeChar = FALSE
fNull = FALSE
fChEvt = FALSE
fDtrflow = FALSE
fRtsflow = TRUE
XonChar = 17
XoffChar = 19
XonLim = 50
XoffLim = 150
PeChar = 0
EofChar = 0
EvtChar = 0

ReceiveEndOfText = 10, 0
ReturnEndOfText = 10, 0
SendEndOfText = 10, 0
;ReceiveStartOfText = 0
SendStartOfText = 0

InitText=
InitEndOfText=13,10,0


In \hpchem\iqrs232.ini for software flow control 
------------------------------------------------

[rs232]
RlsTimeout = 0
CtsTimeout = 0
DsrTimeout = 0
fBinary = FALSE
fRtsDisable = FALSE
fOutxCtsFlow = FALSE
fOutxDsrFlow = FALSE
fDtrDisable = FALSE
fOutX = TRUE
fInX = TRUE
fPeChar = FALSE
fNull = FALSE
fChEvt = FALSE
fDtrflow = FALSE
fRtsflow = FALSE
XonChar = 17
XoffChar = 19
XonLim = 50
XoffLim = 150
PeChar = 0
EofChar = 0
EvtChar = 0

ReceiveEndOfText = 10, 0
ReturnEndOfText = 10, 0
SendEndOfText = 10, 0
;ReceiveStartOfText = 0
SendStartOfText = 0

InitText=
InitEndOfText=13,10,0

LAN:

In \windows\win.ini set link 3 to rs232:
---------------------------------------
link1 to LAN at IP address 15.9.55.3

Path=C:\HPCHEM
Links=1,2,3
Link1=ARPALAN,IP:15.9.55.3;9100
Applications=HPGC
Instruments=1
Devices=1
Device1=1,0,68GC


***************************************************************************
***************************************************************************
*  CHARACTERS USED IN MESSAGE HEADER                                      *
***************************************************************************

The following is a list of the commonly used mnemonics used in the
6890 command set.

Functional Area(used for destination and source locations within the 6890):

   GC - General GC related parameters
   CC - "ChemComm" commands that could be valid for any type of instrument
   S1 - Signal 1
   S2 - Signal 2
   IF - Front Inlet
   IB - Back Inlet
   C1 - Column 1
   C2 - Column 2
   DF - Front Detector
   DB - Back Detector
   A1 - Aux 1
   A2 - Aux 2
   A3 - Aux 3
   A4 - Aux 4 
   A5 - Aux 5
   V1 - Valve 1
   V2 - Valve 2
   .
   .
   V8 - Valve 8
   MV - Maverick - commands needed for INET support
   DT - Diagnostics commands


Type of parameters (used in opcode):

   SP  P   Setpoint Parameter
   AC  A   Actual
   CL  L   Calibration
   IM  I   Immediate
   ST  S   Status
   RP  R   Ramp
   ES  E   Calculated Estimates
   PO  O   Post run
   CF  C   User Configuration
   TP      Setting Hardware Configuration

Inlet Types:

    S  Split/splitless
    C  Cool on Column
    P  Purged Packed
    V  PTV


Detector Type:
    F  FID
    T  TCD
    N  NPD
    E  ECD
    P  FPD

Attribute:

    T  Temperature
    N  Pneumatics
    P  Pressure
    F  Flow


Parameter Values (used in parameters):
   0 - OFF
   1 - ON
   -,.,0,1,2,...,9 - valid numbers  

/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */
***************************************************************************
***************************************************************************
* AUX COMMANDS:                                                           *
***************************************************************************

=========================================================================
A1ssTZ                                                             A1ssTZ
A2ssTZ          Set AUX Thermal Zone ON/OFF                        A2ssTZ
-------------------------------------------------------------------------
FUNCTION:
    This command turns the the thermal zone on or off.

PART OF WORKFILE:  Yes

HOST ISSUES:
 A1ssTZ <on/off>
   <on/off> - set oven zone on or off [1|0]
GC RETURNS:
  no response

HOST ISSUES:
 A1ssTZ ?
GC RETURNS:
  returns current setting

STATUS:
   Complete


=========================================================================
A1ssTR                                                             A1ssTR
A2ssTR          AUX Temperature Ramp                               A2ssTR
-------------------------------------------------------------------------

FUNCTION:
    This command will set the temperature profile for a aux.

PART OF WORKFILE:  Yes - Setpoint

HOST ISSUES:
 A1ssTR <init_temp>,<init_time>,
                        <rate_1>,<final_temp_1>, <final_time_1>,
                        <rate_2>,<final_temp_2>,<final_time_2>,
                        <rate_3>, <final_temp_3>,<final_time_3>

   <init_temp> - initial temp of a ramp or the only temp if
          non ramped.
   <init_time> - time at initial temperature
   <rate_1> - rate of temperature rise
   <final_temp_1> - final temperature reached by ramp 1
   <final_time_1> - time at final temperature of ramp 1
      .
      .
      .

GC RETURNS:
  no response

HOST ISSUES:
 A1ssTR ?
GC RETURNS:
    returns current settings

STATUS:
   Complete


=========================================================================
A1ssTI                                                             A1ssTI
A2ssTI          Set Aux Temperature Immediate                      A2ssTI
-------------------------------------------------------------------------
FUNCTION:
    Sets the temperature of the aux immediately.

   Outside of run:
      The temperature value set will affect the initial value in the
      workfile.
   During run or post run:
      Changing the temperature changes the current setpoint but does
      not affect the initial value in the workfile.
      If the zone was ramping at the time the temp was changed, then
      the ramp will continue from the new set point to the final value
      of that ramp.  This may change the run time length.


PART OF WORKFILE:  May affect it.

HOST ISSUES:
 A1ssTI <temp>
   <temp> - bring temperature to <temp> immediately
GC RETURNS:
  no response

HOST ISSUES:
 A1ssTI ?
GC RETURNS:
  returns current settings

STATUS:
   Complete



=========================================================================
A1ssTP                                                             A1ssTP
A2ssTP                  Thermal Aux Type                           A2ssTP
-------------------------------------------------------------------------
FUNCTION:
     This command configures the thermal aux type.

PART OF WORKFILE:  No

HOST ISSUES:
 A1ssTP <aux_type>

      <aux_type> - type of aux
             0 = valve box
             1 = unknown aux
             2 = MSD (mass selective detector)
             3 = AED (atomic emission detector)
             4 = no aux (none)
             5 = reserved ( was cryo trap   )
             6 = nickel catalyst
             7 = FPD slaved zone  ( read only ; i.e. 7 written by f/w may
                                    NOT be changed via kybd or host       )

                 An FPD cell uses an AUX zone in addition to the DET_zone it
                 gets by default . A rear mounted FPD uses AUX2, front mounted
                 uses AUX1.  The preferred location for a single FPD is
                 rear . An installed FPD will take the aux & disable user-
                 driven changes in aux type .


GC RETURNS:
  no response

HOST ISSUES:
 A1ssTP ?
GC RETURNS:
  returns current settings

COMMENTS:
  The 6890 can sense if an aux is installed.  If the 6890 senses that an aux
  is installed and it had been set to "no aux", it will be set to
  "valve box" if the corresponding valve(s) are installed or "unknown aux".
  If an aux is not present, the 6890 will not permit setting the <aux_type>
  to "valve box" or "unknown aux".  If an aux is present, the 6890 will not
  permit setting the <aux_type> to "no aux".

STATUS:
   Complete


=========================================================================
A1ssST                                                             A1ssST
A2ssST          Thermal Zone AUX Status                            A2ssST
-------------------------------------------------------------------------

FUNCTION:
    Command returns the status of the thermal zone.

PART OF WORKFILE:  No

HOST ISSUES:
 A1ssST

GC RETURNS:
 ssA1ST <thermal_status>,<setpnt_temp>,<act_temp>

   <thermal_status> - status of zone (thermal fault,thermal shutdown etc.)
         0 = OK
         1 = Thermal shutdown
             Note, if any zone in the system is shutdown all zones are shutdown.
   <setpnt_temp> - current setpoint temperature
   <act_temp> - actual temperature

STATUS:
   Complete



=========================================================================
A3ssNZ                                                             A3ssNZ
A4ssNZ                                                             A4ssNZ
A5ssNZ          Set AUX Pneumatic Zone ON/OFF                      A5ssNZ
-------------------------------------------------------------------------
FUNCTION:
    This command turns the the pneumatic zone on or off.

PART OF WORKFILE:  Yes

HOST ISSUES:
 A3ssNZ <on/off>
   <on/off> - set pneu zone on or off [1|0]
GC RETURNS:
  no response

HOST ISSUES:
 A3ssNZ ?
GC RETURNS:
  returns current setting

STATUS:
   Complete


=========================================================================
A3ssPR                                                             A3ssPR
A4ssPR          Aux Pressure Ramp                                  A4ssPR
A5ssPR                                                             A5ssPR
-------------------------------------------------------------------------

FUNCTION:
    This command will set the pressure profile for an aux.

PART OF WORKFILE:  Yes - Setpoint

HOST ISSUES:
 A3ssPR <init_pressure>,<init_time>,
        <rate_1>,<final_pressure>, <final_time_1>,
        <rate_2>,<final_pressure_2>,<final_time_2>,
        <rate_3>, <final_pressure_3>,<final_time_3>

   <init_pressure> -  initial pressure
   <init_time> - time at initial pressure
   <rate_1> - rate of pressure rise
   <final_pressure_1> - final pressure reached by ramp 1
   <final_time_1> - time at final pressure of ramp 1
      .
      .
      .

GC RETURNS:
  no response

HOST ISSUES:
 A3ssPR ?
GC RETURNS:
    returns current settings

STATUS:
   Complete




=========================================================================
A3ssPI                                                             A3ssPI
A4ssPI          Set Aux Pressure Immediate                         A4ssPI
A5ssPI                                                             A5ssPI
-------------------------------------------------------------------------
FUNCTION:
    Sets the pressure of the aux immediately.

   Outside of run:
      The pressure value set will affect the initial value in the
      workfile.
   During run or post run:
      Changing the pressure changes the current setpoint but does
      not affect the initial value in the workfile.
      If the pressure was ramping at the time the pressure was changed, then
      the ramp will continue from the new set point to the final value
      of that ramp.


PART OF WORKFILE:  May affect it.
HOST ISSUES:
 A3ssPI <pressure>
   <pressure> - bring pressure to <pressure> immediately
GC RETURNS:
  no response

HOST ISSUES:
 A3ssPI ?
GC RETURNS:
  returns current settings

STATUS:
   Complete




=========================================================================
A3ssCF                                                             A3ssCF
A4ssCF          Aux Configuration                                  A4ssCF
A5ssCF                                                             A5ssCF
-------------------------------------------------------------------------
FUNCTION:
     This command configures the pneumatics type of aux.

PART OF WORKFILE:  No

HOST ISSUES:
 A3ssCF <aux_gas_type>,<aux_equib_time>,<pressure_range>

      <aux_gas_type> - gas type
          0  = N2
          1  = H2
          2  = He
          3  = ArMe
          4  = O2
          5  = Air
          6  = Argon
          7  = UNKNOWN_GAS
      <aux_equib_time> - equib time
      <pressure_range> - range of sensor

GC RETURNS:
  no response

HOST ISSUES:
 A3ssCF ?
GC RETURNS:
  returns current settings

STATUS:
   Complete

-------------------------------------------------------------------------
A3ssST                                                             A3ssST
A4ssST          Aux Pressure Status                                A4ssST
A5ssST                                                             A5ssST
-------------------------------------------------------------------------
FUNCTION:
    This command returns the current pneumatics status.

PART OF WORKFILE:  No

HOST ISSUES:
 A3ssST
GC RETURNS:
 ssA3ST  <pressure_state>,<pressure_setpoint>,<actual_pressure>
   <pressure_state> - pneumatics state
         0 - off
         1 - on
        -1 - shutdown
   <pressure_setpoint> - current pressure setpoint
   <actual_pressure> - current pressure


STATUS:
   Complete



=========================================================================
                         Aux Calibration
-------------------------------------------------------------------------

Two commands are needed to completely calibrate the aux pressure.
The commands provide the two points required to determine the pressure
curve.  One command provides the zero offset (PZ) and the other
is used to calculate slope of the curve (PV).  The calibration status
command returns the offsets and pressures used for the calibration and date
of last calibration.

-------------------------------------------------------------------------
A3ssPZ                                                             A3ssPZ
A4ssPZ          Calibrate Aux Zero Pressure                        A4ssPZ
A5ssPZ                                                             A5ssPZ
-------------------------------------------------------------------------
FUNCTION:
    This command is used to calibrate the zero offset.

PART OF WORKFILE:  No


NOTE: Set versions of this command always generates a response.  If an
      error occurs on a get (?) version, no response will be issued.

RESPONSE:  A3xxPZ 0,0    command executed without error.
           A3xxPZ #,#    (error number, parameter causing error) error response

           A3xxPZ ...    normal response to a ?
           <none>        there is no response if an error occurred in a ?


HOST ISSUES:
 A3ssPZ 0            Note, 0 is required.
GC RETURNS:
 A3ssPZ 0,0

HOST ISSUES:
 A3ssPZ ?
GC RETURNS:
 ssA3PZ <zero_pressure>
    <zero_pressure> - pressure determined from last zero command.

STATUS:
   Complete


-------------------------------------------------------------------------
A3ssPV                                                             A3ssPV
A4ssPV          Calibrate Aux Pressure                             A4ssPV
A5ssPV                                                             A5ssPV
-------------------------------------------------------------------------
FUNCTION:
    This command is used to calibrate the aux gas pressure sensor.
    The slope of the pressure curve is calibrated with this command.

PART OF WORKFILE:  No


NOTE: Set versions of this command always generates a response.  If an
      error occurs on a get (?) version, no response will be issued.

RESPONSE:  A3xxPV 0,0    command executed without error.
           A3xxPV #,#    (error number, parameter causing error) error response

           A3xxPV ...    normal response to a ?
           <none>        there is no response if an error occurred in a ?

HOST ISSUES:
 A3ssPV  <measured_pressure>
   <measured_pressure> - current measured pressure from external calibrating
                     device in dyns/cm2.
GC RETURNS:
  A3ssPV 0,0

HOST ISSUES:
 A3ssPV ?
GC RETURNS:
  ssA3PV <measured_pressure>
   <measured_pressure> - calibration pressure set by last A3ssPV command.


STATUS:
   Complete


=========================================================================
AXssLS          Aux Calibration Status                             AXssLS
-------------------------------------------------------------------------
FUNCTION:
    This command gives information on the current calibration.

PART OF WORKFILE:  May be attached to workfile for additional information,
         but would not affect setpoints.

HOST ISSUES:
 AXssLS

GC RETURNS:
 ssAXLS <calib_state>,<calib_date>,
       <A3_calib_zero>,<A3_calib_press>,<A3_calib_slope>,
       <A4_calib_zero>,<A4_calib_press>,<A5_calib_slope>,
       <A5_calib_zero>,<A5_calib_press>,<A5_calib_slope>

   <calib_state> -   0 = Factory Calib, 1 = User Calib Enabled, 2 = User Calib Disabled
   <calib_date> - last date that any item was calibrated.
   <A3_calib_zero> - offset of pressure curve.                (pressure units)
   <A3_calib_press> - calibration pressure of pressure curve. (pressure units)
   <A3_calib_slope> - percentage correction at calib pressure.
   <A4_calib_zero> - offset of pressure curve.                (pressure units)
   <A4_calib_press> - calibration pressure of pressure curve. (pressure units)
   <A4_calib_slope> - percentage correction at calib pressure.
   <A5_calib_zero> - offset of pressure curve.                (pressure units)
   <A5_calib_press> - calibration pressure of pressure curve. (pressure units)
   <A5_calib_slope> - percentage correction at calib pressure.

STATUS:
   Complete



=========================================================================
AXssLX                                                             AXssLX
AXssLX          Change Aux Calibration Status                      AXssLX
-------------------------------------------------------------------------
FUNCTION:
    This command gives/changes information on the current calibration.


NOTE: Set versions of this command always generates a response.  If an
      error occurs on a get (?) version, no response will be issued.

RESPONSE:  AXxxLX 0,0    command executed without error.
           AXxxLX #,#    (error number, parameter causing error) error response

           AXxxLX ...    normal response to a ?
           <none>        there is no response if an error occurred in a ?

HOST ISSUES:
 AXssLX <state>

GC RETURNS:
  AXssLX 0,0

HOST ISSUES:
 AXssLX ?

GC RETURNS:
 ssAXLX  <state>

   <state> -  0 = Factory Calib,         (deletes user calib forever)
              1 = User Calib Enabled,    (re-enables a disabled user calib)
              2 = User Calib Disabled    (disables an enabled user calib)

STATUS:
   Complete


=========================================================================
A1ssCR          Thermal Aux Cryo Setpoints                         A1ssCR
A2ssCR                                                             A2ssCR
-------------------------------------------------------------------------
FUNCTION:
    This command sets cryo setpoints for an auxiliary temperature zone.

PART OF WORKFILE:  Yes

HOST ISSUES:
 A1ssCR <cryo_type>,<cryo_on_off>,<quick_cool>,<ambient_temp>,
          <cryo_timeout>,<cryo_timeout_on_off>,<cryo_fault>

   <cryo_type>   - no cryo  = 0, LN2 cryo = 1, LCO2 cryo = 2, compressed air = 3

   <cryo_on_off> - turn cryo on or off

   <quick_cool> - turn quick cool on or off

   <ambient_temp> - enter ambient temperature - valid range is 0 to 55 deg C

                    NOTE: ambient temp is not used for the cryo trap - it does
                          not need to be set

   <cryo_timeout> - sets time between 5 and 120 minutes.
                    auxiliary temperature zone shuts off if it has been ready
                    for this amount of time outside of a run.

   <cryo_timeout_on_off> - turns <cryo_timeout> on or off.

   <cryo_fault> - turn cryo fault on or off.  Auxiliary temperature zone shuts
                  down if it does not reach setpoint within 16 minutes.
GC RETURNS:
  no response

HOST ISSUES:
 A1ssCR ?
GC RETURNS:
 ssA1CR <cryo_type>,<cryo_on_off>,<quick_cool>,<ambient_temp>,
        <cryo_timeout>,<cryo_timeout_on_off>,<cryo_fault>

STATUS:
   Complete


/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */
***************************************************************************
***************************************************************************
* CHEMCOMM COMMANDS:                                                      *
***************************************************************************

=========================================================================
CCssID          Identify                                           CCssID
-------------------------------------------------------------------------
FUNCTION:
   This command is intended to allow the host to determine what
   device is at a particular address.  The command will be replied
   to within 500 ms.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssID
GC RETURNS:
   ssCCID HP 6890 GC <mainbd_firmware_rev>
       <mainbd_firmware_rev> = firmware rev for the 6890's mainboard
DEFAULTS:
        None
EXAMPLES:
   HOST:
        CCxxID
   GC:
        xxCCID HP 6890 GC REV A.00.00
COMMENTS:
   The actual reply to the ID command should be within a few
   milliseconds, but it is a good idea for the host to be
   generous with timeouts.
STATUS:
   Complete

=========================================================================
CCssIW          Workfile Identify                                  CCssIW
-------------------------------------------------------------------------
FUNCTION:
   This command is intended for use in workfile.  It gives the firmware
   revision, serial number, time, date.

PART OF WORKFILE:  Yes

HOST ISSUES:
   CCssIW ?
GC RETURNS:
   ssCCIW HP,6890,GC,<mainbd_firmware_rev>,<serial_number>,<time>,<date>
       <mainbd_firmware_rev> = firmware rev for the 6890's mainboard
       <serial_number> - units serial number is a 10 character ASCII string
                  XXDDDDDDDD where:
                     XX is a 2 character country code which is one
                          of the following: US, DE, BR, CN, IN, or JP
                     DDDDDDDD is an 8-digit number with zero-fill if needed
       <time> - current time  HHMMSS
       <date> - current date  DDMMYY
DEFAULTS:
        None
EXAMPLES:
   HOST:
        CCssIW ?
   GC:
        ssCCIW HP,6890,GC,R.01.01,US00100431,144206,210995

COMMENTS:

STATUS:
   Complete



=========================================================================
CCssRS          Global Reset                                       CCssRS
-------------------------------------------------------------------------
FUNCTION:
   This command resets the instrument.  A command option is available
   which instructs IQ on the type of reset to perform.  The "skip poweron
   tests" option will reduce reset time since not all tests are performed.
   Another option will perform a memory reset.  The memory reset option is
   dangerous since it will set all set points in the instrument to their
   factory defaults.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssRS [<reset_option>]
   <reset_option> - sets type of reset to be performed
        0 - skip power on tests
        1 - don't skip power on tests (full power fail reset)
        2 - memory reset and all poweron tests
           CAUTION: this option of the reset command will distroy all
              user options, setpoints methods,and sequence information.
              All set points will be returned to their factory defaults.
              Only the following items are not affected by this command
              option:
                   units serial number,
                   manufactured date,
                   uptime clock (cumulative power-on time in seconds),
                   number of runs since unit was built,
                   oven type (fast or slow oven).
        3 - full memory reset and all poweron tests
           CAUTION: this option of the reset command will destroy
              everything that is destroyed by option 2, and in addition
              will destroy the serial number, manufactured date, uptime
              clock, number of runs and oven type.
              In other words, EVERYTHING!
        4 - same as 3 EXCEPT no reboot is performed.  The memory reset
              will occur the next time the instrument is rebooted.  This
              option was added for manufacturing test so that the instrument
              could be left in a "reset the next time you power up" state
              at the conclusion of a test suite.

    Note, if no parameter is given the command will default to
        skip poweron tests.

GC RETURNS:
   no response

COMMENTS:
   The time required for the 6890 to be ready to accept new commands after
   a reset is at least 20 seconds for the CCssRS 0 command and at least
   45 seconds for the CCssRS 1 or CCssRS 2 commands. CCssRS 4 returns
   immediately without rebooting the instrument (see above).

   The following poweron tests are skipped with option 0:
          - ROM test
          - RAM test
          - analog loop back test
          - zone configuration test
          - detector offset measurement.


STATUS:
   Complete


=========================================================================
CCssPM          Read Parameter Modified Flags                      CCssPM
-------------------------------------------------------------------------

FUNCTION:
   This command indicates when something has changed in the 6890.  The
   types of parameters which affect the flags are method setpoint
   parameters, method configuration, sampler parameters, powerfail and
   calibration parameters. See the "IQ Parameter List" for a list of
   all setpoints and their category.  The change flag bits are cleared
   on reading or by downloading a method from datacomm.
   Note: loading a method from the front
   keypad on the 6890 will set the change flag.
   The command also returns a bit-packed number that returns information
   on the status of the 6890 locks (set/cleared by the GCssKC command)
   and the dirty_method and in_service_mode flags.  These are provided
   so that by polling the CCssPM command, a host can get parameter
   modified and lock information with only one command.
   Stop_pressed is a flag that indicates the 6890 front panel stop key
   was pressed. Start_pressed is the same thing for the front panel
   start key. Run_log indicates if there are any entries in the run
   log.

PART OF WORKFILE:  No

HOST ISSUES:

   CCssPM

GC RETURNS:

   ssCCPM <GC_change_flag>, <other_host_change_flag>, <status_flag>
      <GC_change_flag> - [0..255]
         bit0 - power fail occurred
         bit1 - power fail unsuccessful (memory not successfully backed up)
         bit2 - als config.  Set when sampler tower/tray configures or de_configures.
                NOTE: Was for sampler parameters in the
                6890 gc.  Sampler parameters now part of gc & use bit 3.
         bit3 - one or more of the 6890 setpoint or config parameters
                changed
         bit4 - one or more of the 6890 calibration parameters changed
         bit5 - method load occurred
         bit6 - stop key pressed
         bit7 - start key pressed

      <other_host_change_flag>
         bit1 - sequence parameter changed by another command channel.
         bit2 - sequence loaded by another command channel.
         bit3 - one or more of the 6890 setpoint or config parameters
                changed by another command channel.
         bit4 - one or more of the 6890 calibration parameters changed
                by another command channel.
         bit5 - method was loaded by another command channel.
         bit6 - display pressure units altered by another command channel.
         bit7 - method was stored or stored method was deleted.

      <status_flag>
         bit0 - dirty method (method modified since download or naming)
         bit1 - reserved
         bit2 - local keyboard lock
         bit3 - method-sequence-clock_table lock
         bit4 - clock tbl execution lock
         bit5 - clock tbl lock
         bit6 - remote start lock
         bit7 - start key lock
         bit8 - keyboard lock (host)
         bit9 - sequence lock
         bit10 - run deviation log has 1 or more entries
         see the documentation for the GCssKC command for the definition
         of the locks.

COMMENT:
   The other host flag is used to indicate that the parameter change
   is due to activity on a communications channel other than the one
   sending this command.  Example: LAN changes a setpoint, bit3 set in
   GC_change_flag only if PM read by LAN.  Bit3 set in both change_flags
   if PM read by RS232 channel.  PM for each communications port
   is independent: reading one port will not clear the flags for another
   port.


=========================================================================
                        HANDLING METHODS
-------------------------------------------------------------------------

A method contains all the setpoints needed to repeat a run plus
information on how the instrument was configured before the run.
To help understand 6890's behavior one needs to understand the
definition of a configuration item.  6890's configuration
parameters may be divided into two types.  There are "Hardware"
configuration items and "User" configuration items.  The
"Hardware" items are mostly hardware items that may be sensed
by 6890, these include: type of inlet (including manual), type of
detector, thermal AUX, or pneumatics AUX.  "User" items are
front panel configurable items such as gas type, column
parameters, oven max temperature, or valve parameters.


POWER ON BEHAVIOR:

The "Hardware" configuration is checked at power-on and if no
change is detected the active method will be used.  If the
"Hardware" configuration has changed, the default setpoints
for the affected sections will be loaded.  The display will show
that the configuration has changed and the Method Warnings will
indicate what was changed.  For example, suppose the customer
changes the front detector from an FID to an NPD. At turn-on
the instrument will come up indicating that the front detector
has changed to NPD and that the associated setpoints were set
to their default values.


LOADING AN INTERNALLY STORED METHOD:

The user may change the configuration of 6890 between saving and
loading of a method, therefore, 6890 must check an internally
stored method before loading.  If an internal method was stored
with the same configuration as the current instrument, the method
will load without modification.  However, if the instrument's
configuration has changed since the time the method was created,
the behavior will depend on what changed.  When loading a method
with one or more of the "Hardware" items different, 6890 will
leave the parameters associated with the "Hardware" items
unchanged.  If "User" configuration items are different, 6890
will change its configuration to match that of the stored method
and load the method setpoints.  In both cases, the display will
indicate what configuration items where different between the
stored method and the actual configuration.

For example, if the method to be loaded was saved with an FID
and the current front detector is an NPD, then the current settings
for the front NPD detector will not be changed and the front
detector's FID setpoints in the stored method will be ignored.  All
other setpoints will take the values of the stored method.  The
display indicates that there is a mismatch in configurations and to
see the Method Warnings.  The Method Warnings will indicate the
sections that did not load.

As a second example, if the column dimensions are different in
the stored method, 6890 will change the dimensions in its configuration
to match the stored method and load the rest of the method.  As
before the display indicates a configuration mismatch and the Method
Warnings indicate what did not match.

The stored method does not change by loading it into the active
method.  The user may always load a method, look at the
configuration conflicts, change the instruments configuration
and reload the method.

If the column's length or diameter have changed, the column
calibration parameters are reset.

LOADING A METHOD FROM A HOST SYSTEM:

6890's command set provides three commands for installing a method
from the host into 6890.  First is the "method download" command
which is used to download the method strings into a temporary
storage area within 6890.  Next is the "method check" command
which will check the method's configuration and notify the host
if the method hardware or user configuration differs from the current
instrument configuration.  And finally the "method install" command,
which installs the downloaded method into 6890's active method. The
install command will return an error code indicating whether the
method loaded completely.

An 6890 generated method will install properly if the "method check"
returns OK.  If a host modifies the method's setpoints it should make
sure that the new parameters do not conflict with the configuration
part of the method.  During the install, 6890 will ignore parameters
which can not be loaded because the parameter is out of range or 6890's
configuration does not support the parameter.

The host may install a method even though the "method check"
showed configuration problems.  A method installed from a host
system will behave similar to loading an internally stored method.
The downloaded method will not be modified if the configurations
match.  If a "User" configuration does not match, the active
configuration within 6890 is changed to match that of the downloaded
method. Then all setpoints are loaded.  If the "Hardware"
configuration does not match then the sections of mismatch will
not be updated by the new method (old setpoints are retained.) The
Method Warnings(CCssMW) will indicate the areas of mismatch.


=========================================================================
CCssAF          Upload Formatted Sampler Parameter Listing         CCssAF
CCssMF          Upload Formatted GC Parameter Listing              CCssMF
CCssSF          Upload Formatted Sequence Parameter Listing        CCssSF
-------------------------------------------------------------------------
FUNCTION:
   These commands return a formatted listing of the current
   parameters. The listing is formatted in such a way that it may
   be printed directly on a printer capable of printing 70 columns.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssAF <upload_control>
      -or-
   CCssMF <upload_control>
      -or-
   CCssSF <upload_control>
      <upload_control> [?|+] requests beginning or next portion of method
         ? = beginning of method
         + = next portion of method

GC RETURNS:
   ssCCAF <control>[;<formatted line>]
      -or-
   ssCCMF <control>[;<formatted line>]
      -or-
   ssCCSF <control>[;<formatted line>]
      <control> [B|C|E] indicates beginning, continuation, or end
         B = first line:  <formatted line> is returned
         C = continuation line:  <formatted line> is returned
         E = end-of-file:  no <formatted line> is returned
      <formatted line> one line of the formatted method

EXAMPLE:
   HOST:
      CCxxAF ?
   GC:
      xxCCAF B;<first line of formatted method>
   HOST:
      CCxxAF +
   GC:
      xxCCAF C;<formatted method continued>
   HOST:
      CCxxAF +
   GC:
      xxCCAF C;<formatted method continued>
   HOST:
      CCxxAF +
   GC:
      xxCCAF E

COMMENTS:

STATUS:
   Complete

=========================================================================
CCssAD          Upload/Download Unformatted Sampler Method         CCssAD
CCssMD          Upload/Download Unformatted GC Method              CCssMD
CCssBD          Upload/Download Unformatted GC + Sampler Method    CCssBD
-------------------------------------------------------------------------
FUNCTION:
   The method commands are used to transfer a method between a host computer
   and 6890's buffer area.  Because of the amount of method information,
   method transfers require more than one transmission.  Method transmissions
   are initiated and continued under host control.  The collective upload
   responses from the 6890 can be used verbatim as a sequence of download
   commands to be sent back to the instrument at a later time.
   It is safest to download a method in the same order as uploaded. This
   guarantees no problems with order dependences and allows the checksum
   to be used. However, the only known dependency is that the column commands
   must be located after the aux, inlet, and detector commands. Also,
   the workfile must start with the configuration information and the
   configuration section must end with the CCCCCE marker.
   A transmission can not exceed 6890's maximum message length (480 bytes.)

   The order of the method is as follows
   BD:
      GC Configuration
      ALS Configuration
      GC Setpoints
         Inlet
         Detector
         Aux
         Column
         Other Setpoints
      ALS Setpoints
   MD:
      GC Configuration
      GC Setpoints
         Inlet
         Detector
         Aux
         Column
         Other Setpoints
   AD:
      ALS Configuration
      ALS Setpoints

   All method parts are surrounded by double quotes and the last transmission
   gives the 16 bit crc of all parts.  It is possible to download a method
   without calculating the crc by sending the for characters "NONE".

PART OF WORKFILE:  No

UPLOAD:
 HOST ISSUES:
   CCssAD <upload_control>
      -or-
   CCssMD <upload_control>
      -or-
   CCssBD <upload_control>
      <upload_control> [?|+] requests beginning or next portion of method
         ? = beginning of method
         + = next portion of method

 GC RETURNS:
   ssCCAD <upload_control>[;"<method>"]
      -or-
   ssCCMD <upload_control>[;"<method>"]
      -or-
   ssCCBD <upload_control>[;<method>|<method_crc>]
      <upload_control> [B|C|E] indicates beginning, continuation, or end
         B = first line:  <method> is returned
         C = continuation line:  <method> is returned
         E = end of method:  all the method has been sent, send <method crc>
      <method>  portion of method
      <method_crc>  the 16 bit crc of all method bytes. The crc includes every
                    thing within quotes.



 UPLOAD EXAMPLE:
   HOST:
      CCxxMD ?
   GC:
      xxCCMD B;"<first part of method>"
   HOST:
      CCxxMD +
   GC:
      xxCCMD C;"<method continuation>"
   HOST:
      CCxxMD +
   GC:
      xxCCMD E;"4B8E"
   HOST:
      CCxxMD +
   GC:
      xxCCMD E

 UPLOAD COMMENTS:
 There will always be at least two transmissions from the GC ("B" and "E".)
 There may be any number (including zero) "C" transmissions.

DOWNLOAD:
 HOST ISSUES:
   CCssAD <download_control>;"<method>|<method_crc>"
      -or-
   CCssMD <download_control>;"<method>|<method_crc>"
      -or-
   CCssBD <download_control>;"<method>|<method_crc>"
      <download_control> [B|C|E] indicates beginning, continuation, or end
         B = first line:  <method> is returned
         C = continuation line:  <method> is returned
         E = end of method:  no more method to send, send crc
      <method>  portion of method
      <method_crc>  the 16 bit crc of all method bytes. The crc includes every
                    thing within quotes.

 GC RETURNS:
   ssCCAD <download_control>
      -or-
   ssCCMD <download_control>
      -or-
   ssCCBD <download_control>
      <download_control> [B|C|E] returns download_control received
         B = beginning of method
         C = continue method
         E = end of method


 DOWNLOAD EXAMPLE:
   HOST:
      CCxxMD B;"<first part of method>"
   GC:
      xxCCMD B
   HOST:
      CCxxMD C;"<method continuation>"
   GC:
      xxCCMD C
   HOST:
      CCxxMD E;"NONE"
   GC:
      xxCCMD E

 DOWNLOAD COMMENTS:
   Must start transaction with B and end with E, if entire method
   fits in one transmission, send B and then E with method crc.
   The host may send the CCxxMD B first with no method information
   to indicate the method is coming and send the entire method with
   CCxxMD C;"<method>".  The host may then end with
   CCxxMD E;"<method_crc".
   NOTE: Downloading a method requires more than the CCssMD command,
   see also CCssMC, CCssMI, and CCssMW.

STATUS:
   Complete


=========================================================================
CCssAC          Check Sampler Method                               CCssAC
CCssMC          Check GC Method                                    CCssMC
CCssBC          Check Sampler + GC Method                          CCssBC
-------------------------------------------------------------------------
FUNCTION:
   Check the method currently in the check area. This checks the
   configuration of the method and the crc.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssAC
      -or-
   CCssMC
      -or-
   CCssBC

GC RETURNS:
   ssCCAC <error_code>
      -or-
   ssCCMC <error_code>
      -or-
   ssCCBC <error_code>
       <error_code>  See error codes in CCssER for complete list
          <OK> = 0
          <NOT_COMPATIBLE> = 15

COMMENTS:

STATUS:
   Complete


=========================================================================
CCssAW          Sampler Method Warnings                            CCssAW
CCssMW          GC Method Warnings                                 CCssMW
CCssBW          Sampler + GC Method Warnings                       CCssBW
-------------------------------------------------------------------------
FUNCTION:
   Returns any warnings generated by "check method".  If the response
   to the "check method" command (CCssAW,CCssMW,CCssBW) is not <OK>,
   this command may be used to find the reason.  This command will return
   three numbers, each number is in 32 bit hexadecimal format. The
   warnings are cleared just prior to loading a new method.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssAW
      -or-
   CCssMW
      -or-
   CCssBW

RETURNS:
  ssCCAW <method_warning_word_1>,<method_warning_word_2>,<method_warning_word_3>
      -or-
  ssCCMW <method_warning_word_1>,<method_warning_word_2>,<method_warning_word_3>
      -or-
  ssCCBW <method_warning_word_1>,<method_warning_word_2>,<method_warning_word_3>


From firmware: /src/iq/include/exception.h

      <method_warning_word_1>

             unsigned crc_mismatch                     :1;  /* bit 31 */
             unsigned als_power_supply                 :1;  /* bit 30 */
             unsigned als_front_tower                  :1;  /* bit 29 */
             unsigned als_back_tower                   :1;  /* bit 28 */
             unsigned als_tray                         :1;  /* bit 27 */
             unsigned dirtball                         :1;  /* bit 26 */
             unsigned frnt_inlet_type                  :1;  /* bit 25 */
             unsigned frnt_inlet_range                 :1;  /* bit 24 */
             unsigned frnt_inlet_epc                   :1;  /* bit 23 */
             unsigned frnt_inlet_gas_type              :1;  /* bit 22 */
             unsigned frnt_inlet_pres_equib            :1;  /* bit 21 */
             unsigned frnt_inlet_flow_equib            :1;  /* bit 20 */
             unsigned back_inlet_type                  :1;  /* bit 19 */
             unsigned back_inlet_range                 :1;  /* bit 18 */
             unsigned back_inlet_epc                   :1;  /* bit 17 */
             unsigned back_inlet_gas_type              :1;  /* bit 16 */
             unsigned back_inlet_pres_equib            :1;  /* bit 15 */
             unsigned back_inlet_flow_equib            :1;  /* bit 14 */
             unsigned frnt_det_type_mismatch           :1;  /* bit 13 */
             unsigned frnt_det_epc                     :1;  /* bit 12 */
             unsigned frnt_det_fuel_range              :1;  /* bit 11 */
             unsigned frnt_det_util_range              :1;  /* bit 10 */
             unsigned frnt_det_mug_range               :1;  /* bit  9 */
             unsigned frnt_det_util_gas_type           :1;  /* bit  8 */
             unsigned frnt_det_mug_gas_type            :1;  /* bit  7 */
             unsigned back_det_type_mismatch           :1;  /* bit  6 */
             unsigned back_det_epc                     :1;  /* bit  5 */
             unsigned back_det_fuel_range              :1;  /* bit  4 */
             unsigned back_det_util_range              :1;  /* bit  3 */
             unsigned back_det_mug_range               :1;  /* bit  2 */
             unsigned back_det_util_gas_type           :1;  /* bit  1 */
             unsigned back_det_mug_gas_type            :1;  /* bit  0 */



      <method_warning_word_2>

             unsigned aux_3_type                       :1;  /* bit 31 */
             unsigned aux_3_range                      :1;  /* bit 30 */
             unsigned aux_3_gas_type                   :1;  /* bit 29 */
             unsigned aux_3_pres_equib                 :1;  /* bit 28 */
             unsigned aux_4_type                       :1;  /* bit 27 */
             unsigned aux_4_range                      :1;  /* bit 26 */
             unsigned aux_4_gas_type                   :1;  /* bit 25 */
             unsigned aux_4_pres_equib                 :1;  /* bit 24 */
             unsigned aux_5_type                       :1;  /* bit 23 */
             unsigned aux_5_range                      :1;  /* bit 22 */
             unsigned aux_5_gas_type                   :1;  /* bit 21 */
             unsigned aux_5_pres_equib                 :1;  /* bit 20 */
             unsigned column1_length                   :1;  /* bit 19 */
             unsigned column1_diam                     :1;  /* bit 18 */
             unsigned column1_film_thick               :1;  /* bit 17 */
             unsigned column1_source                   :1;  /* bit 16 */
             unsigned column1_outlet                   :1;  /* bit 15 */
             unsigned column1_vacuum_comp              :1;  /* bit 14 */
             unsigned column1_outlet_pres_comp         :1;  /* bit 13 */
             unsigned column1_pres_comp_setpt          :1;  /* bit 12 */
             unsigned column2_length                   :1;  /* bit 11 */
             unsigned column2_diam                     :1;  /* bit 10 */
             unsigned column2_film_thick               :1;  /* bit  9 */
             unsigned column2_source                   :1;  /* bit  8 */
             unsigned column2_outlet                   :1;  /* bit  7 */
             unsigned column2_vacuum_comp              :1;  /* bit  6 */
             unsigned column2_outlet_pres_comp         :1;  /* bit  5 */
             unsigned column2_pres_comp_setpt          :1;  /* bit  4 */
             unsigned valve_1_mismatch                 :1;  /* bit  3 */
             unsigned valve_2_mismatch                 :1;  /* bit  2 */
             unsigned valve_3_mismatch                 :1;  /* bit  1 */
             unsigned valve_4_mismatch                 :1;  /* bit  0 */



      <method_warning_word_3>

             unsigned valve_5_mismatch                 :1;  /* bit 31 */
             unsigned valve_6_mismatch                 :1;  /* bit 30 */
             unsigned valve_7_mismatch                 :1;  /* bit 29 */
             unsigned valve_8_mismatch                 :1;  /* bit 28 */
             unsigned cryo_mismatch                    :1;  /* bit 27 */
             unsigned aux_1_mismatch                   :1;  /* bit 26 */
             unsigned aux_2_mismatch                   :1;  /* bit 25 */
             unsigned oven_max_mismatch                :1;  /* bit 24 */
             unsigned filler_bits                      :24;  /* unused bits */


COMMENTS:

STATUS:
   Complete


=========================================================================
CCssMX          Set Method Setpoints to Defaults                   CCssMX
-------------------------------------------------------------------------
FUNCTION:
   The active method will be loaded with the factory default values.
   The GC and injector parameters will be updated by this command.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssMX

GC RETURNS:
   ssCCMX <error_code>
   <error_code>  See error.h for complete list
      <OK> = 0
      <NOT_VALID_DURING_RUN> = 27

COMMENTS:
   This command is not allowed during the RUN or POST_RUN states.

STATUS:
   Complete



=========================================================================
CCssAI          Install Sampler Method                             CCssAI
CCssMI          Install GC Method                                  CCssMI
CCssBI          Install GC + Sampler Method                        CCssBI
-------------------------------------------------------------------------
FUNCTION:
   Install check area method into active area.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssAI
      -or-
   CCssMI
      -or-
   CCssBI

GC RETURNS:
   ssCCAI <error_code>
      -or-
   ssCCMI <error_code>
      -or-
   ssCCBI <error_code>
   <error_code>  returns only these two codes:
      <OK> = 0
      <NOT_ALLOWED> = 14   (not in RUN_IDLE or PRE_RUN state)

COMMENTS:
   This command is only allowed during the RUN_IDLE or PRE_RUN states.

STATUS:
   Complete


=========================================================================
                        HANDLING SEQUENCES
-------------------------------------------------------------------------

=========================================================================
CCssSL          Download/Upload Sequence                           CCssSL
-------------------------------------------------------------------------
FUNCTION:
   This command in used to upload the GC's active sequence.  It may also
   be used to download a sequence into the GC's checkarea.


PART OF WORKFILE:  No

UPLOAD:
 HOST ISSUES:
   CCssSL  ?

 GC RETURNS:
   ssCCSL  <sequence_list>

DOWNLOAD:
 HOST ISSUES:
   CCxxSL <sequence_list>

 GC RETURNS:
   ssCCSL <error_code>

   <sequence_list> = <parm1>,<parm2>,<parm3>,...<parm41>

     The format of the sequence output is as follows:
       41 total parameters separated by commas.

       The parameter (<parm#>) is the decimal equivalent of a 32 bit integer.
       Leading zeros are suppressed on output and optional on input.  Many
       parameters have more than one sequence setpoint packed into them.
       Leading zeros are required for internal setpoints.

       True = 1; False = 0; On = 1; Off = 0


      parm#     Format      Meaning
     ------  -------------------------------------------------------------
       1        1          (current sequence version#)

       2        ddmmyy     (day, month, year; 2 decimal digits each)
                           1 <= dd <= 31; 1 <= mm <= 12, 0 <= yy <= 99

       3        hhmmss     (hrs, min, sec; 2 decimal digits each)
                           0 <= hh <= 23; 0 <= mm <= 59, 0 <= ss <= 59
                           (param 2&3 is date&time file uploaded to host)

       4        rrpp       (repeat onoff, priority enable, 2 digits ea)
                           rr = On/Off; pp = On/Off

       5        nn         (Post seq method#, 0 <= nn <= 5)

        ***********  Subseq 1 ********************************

       6        tmmm      (type(1 digit); method, method On/Off(3 digits))
                  t:  0 = undefined subseq
                       1 = Front als subseq
                       2 = Back  als subseq
                       3 = Both  als subseq
                       4 = Valve subseq
                  mmm: Method On:  mmm = Method Number (0 through 5).
                       Method Off: mmm = 128 + Method Number (128 through 132).
                       A method number of 0 means use active method.

       7        repeat     times through valve range; 1 <= repeat <= 99

       8        finj       #inj, front als or valve; 0 <= finj <= 99

       9        eeebbb     end & beginning sample range, tray or valve for
                           front als. Three digits each.  1 <= bbb <= max,
                           same for eee.   Max depends on valve (32) or als
                           type.  For als, max is 3 (no tray or tray off) or
                           100 with tray.  Future als may be different.

       10       binj       #inj, back als; 0 <= binj <= 99

       11       eeebbb     end (eee) & beginning (bbb) sample range for
                           back als. Value range same as parm# 9 for
                           front als.

        ************  Subseq 2, ..., 5, Priority Subseq *********

       12-17    subseq 2   same as parm# 6-11 above

       18-23    subseq 3   same as parm# 6-11 above

       24-29    subseq 4   same as parm# 6-11 above

       30-35    subseq 5   same as parm# 6-11 above

       36-41    priority   same as parm# 6-11 above
                subseq

   <error_code>  See error.h for complete list
      <OK> = 0

EXAMPLE:

 PRIORITY SEQUENCE:
 Type:     Front injector
 #Injections/vial  2
 Samples       99-99
 Use priority:      Off


 SEQUENCE:
 Type:     Both injectors
 Front: #Injections/vial  1
 Front: Samples         8-8
 Back:  #injections/vial  1
 Back:  Samples         9-9

 POST SEQ METHOD #:  0
 REPEAT SEQUENCE:    Off

 HOST ISSUES:
 CCAASL ?

 GC RETURNS:
 AACCSL 1,30595,104010,0,0,3000,1,1,8008,1,9009,0,1,1,1001,1,1001,0,1, 1,
  1001,1,1001,0,1,1,1001,1,1001,0,1,1,1001,1,1001,1000,1,2,99099 ,1,1001

COMMENTS:
   NOTE: the 3396C Integrator will store and load all sequences that are set
   through the 6890 front panel.  However, when the Integrator is in
   control, only subsequence 1 and the priority subsequence will be used.
   In addition, the method number is ignored and the active method is always
   used.

STATUS:
   Complete


=========================================================================
CCssSC          Check Sequence                                     CCssSC
-------------------------------------------------------------------------
FUNCTION:
   Checks the last sequence downloaded (CCSL) to the checkarea.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssSC

GC RETURNS:
   ssCCSC <error_code>
   <error_code>  See error.h for complete list
      <OK> = 0
      <INVALID_PARAM> = 3

COMMENTS:
   Any errors will be logged in error log as parameter 1, but may be
   due to any sequence parameters.

STATUS:
   Complete



=========================================================================
CCssSI          Install Sequence                                   CCssSI
-------------------------------------------------------------------------
FUNCTION:
   Installs the sequence parameters from the check area into the active
   area.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssSI

GC RETURNS:
   ssCCSI <error_code>
   <error_code>  See error.h for complete list
      <OK> = 0

COMMENTS:

STATUS:
   Complete



=========================================================================
CCssSX          Sequence Execution                                 CCssSX
-------------------------------------------------------------------------
FUNCTION:
   This command is used to Start/Stop/Pause/Resume a sequence.  It
   also is used to return the current state of the sequence and some
   associated parameters for the 6890N's sampler towers.  The odd
   ordering of returned status for ? is due to extending the command
   from its 6850 version.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssSX <seq_command>

GC RETURNS:
   ssCCSX <error_number>

HOST ISSUES:
   CCssSX ?

GC RETURNS:
   ssCCSX <seq_state>,<seq_substate>,<start_mode>,<f_tower_mode>,<f_current_sample>,
          <f_last_sample_inj>,<f_current_inj>,<current_rep>,<last_inj_abort>,<subseq>,
          <b_tower_mode>,<b_current_sample>,<b_last_sample_inj>,<b_current_inj>

     <seq_command> - START | STOP | PAUSE | RESUME | PUSH

                     PUSH is used to force injection without GC ready,
                     it is cleared after every injection and on every
                     START and RESUME (so that it goes away on STOP/START
                     and PAUSE/RESUME).

     <seq_state>   - 0 = stopped,
                     1 = paused,
                     2 = running,
                     3 = stepping (used by INET),
                     4 = power fail halt (used by INET),
                     5 = abort (abnormal stop)

     <seq_substate> - This parameter is the internal state of the sequence
                      engine.  It is mostly a diagnostic tool for debug.
                      0 = als_wait,
                      1 = step,
                      2 = bottle_return,
                      3 = wait,
                      4 = valve_inj,
                      5 = sync,
                      6 = run,
                      7 = step_wait

     <start_mode>  - Indicates what will happen if 6890 front panel START is pressed
                     0 = manual injection start  (only possibility with 6890)

     <tower_mode>  - Indicates sampler tower presence and mounting status
                     0 = no tower
                     1 = tower present, NOT on mounting post
                     2 = tower present and mounted

     <current_sample> - sample# of the sample sequence or autoinject is
                        currently busy with.  Is bottle# or stream#.  Changes
                        at START of sequence or autoinject and at the end
                        of each run.  Is 0 if sequence not active.

     <last_sample_inj> - sample# of last sample injected.  Changes at
                        START RUN.  Is 0 if last run was a manual injection.

     <current_inj>  - current injection number for multiple injections. Valid
                      only during sequence.

     <current_rep>  - current repetition number for repetitions of a valve range.
                      Valid only for valve sequence with a multi valve.

     <last_inj_abort> - error number from ALS for sequence aborted by sampler
                        error.  Is number used in ALS_ERROR_NUM exception display.

     <subseq>        - current subsequence, 1-6, 6 is priority subsequence, 0 for
                       sequence not active.

     <error_number>  - 0 <OK>,
                       10 <MISSING_PARAM> (no seq_command or ?),
                       13 <SYNTAX_ERROR> (seq_command not START/STOP/PAUSE/RESUME),
                       14 <NOT_ALLOWED> (START of empty sequence or RESUME when
                                         not paused or aborted),
                       54 <IN_PROGRESS> (START of running sequence or autoinject)

DEFAULTS:
        None

EXAMPLES:
   HOST:
        CCssSX START
   GC:
        ssCCSX 0

   HOST:
        CCssSX ?
   GC:
        ssCCSX 2,5,0,2,1,1,1,0,0,2,0,0,0
        (above is front sequence started, but injection hasn't yet happened)


=========================================================================
CCssC1          Single Column Comp Configure                       CCssC1
CCssC2                                                             CCssC2
-------------------------------------------------------------------------

FUNCTION:
   Set Single Column Compensation detector position.

PART OF WORKFILE:  Yes

Host sends:

   CCssC1 <detector_position>
           <detector_position> = <front> | <back> | <none>
                <front> = 0
                <back>  = 1
                <none>  = 2

GC returns:
   no response

HOST ISSUES:
 CCssC1 ?
GC RETURNS:
  returns current setting

STATUS:
   Complete


=========================================================================
CCssCR          Single Column Comp Start Run                       CCssCR
-------------------------------------------------------------------------
FUNCTION:
   Start SCC run: starts 1 2 or both col comp signals.

PART OF WORKFILE:  No

Host sends:

   CCssCR <column_comp_signal>
              <column comp signal> = <signal_1> | <signal_2> | <both> <signal 1> = 1 <signal 2> = 2 <both> = 3
GC returns:
   xxCCCR <error_code>
            <error_code> = <OK> | <NOT_VALID_DURING_RUN> |
                              <SCC_RUN_LENGTH_TOO_SHORT>

               See error.h for more information on error codes.
               <OK> = 0

STATUS:
   Complete

=========================================================================
CCssCS          Single Column Comp Status                          CCssCS
-------------------------------------------------------------------------

FUNCTION:
    Command returns the status of the column compensation run and the
    two column compensation profiles.

PART OF WORKFILE:  No

Host sends:

         CCxxCS

GC returns:
         xxCCCS <scc1_collection_state>,<scc1_data_status>,<scc1_time>,
                <scc1_date>,<scc1_det_position>,<scc1_det_type>,
                <scc2_collection_state>,<scc2_data_status>,<scc2_time>,
                <scc2_date>,<scc2_det_position>,<scc2_det_type>

              scc1  = single column compensation profile 1
              scc2  = single column compensation profile 2

           <scc_collection_state> =
             profile is not being collected  = 0,
             waiting for ready before collecting a profile = 1,
             profile is being collected = 2

           <scc_data_status> = no data stored  = 0,
                               valid data      = 1,
                               data collection incomplete, data not valid = 2

           <scc_det_position> = detector position for last scc run
                                FRONT         = 0,
                                BACK          = 1,
                                no position defined = 2

           <scc_det_type> = detector type for last scc run
                                FID, flame ionization detector     = 1,
                                TCD, thermal conductivity detector = 2,
                                ECD, electron capture detector     = 3,
                                NPD, nitrogen phosphorus detector  = 4,
                                FPD, flame photometric detector    = 5,
                                AIB, analog input board            = 6,
                                no detector board installed        = 15

           <scc_time>  = time of last scc run
                            HHMMSS   ; Hours Minutes Seconds
           <scc_date>  = date of last scc run
                            DDMMYY   ; Day Month Year

COMMENT:
   Reading the time and date will always return 6 digits.  The required
   leading zeros will be added.

STATUS:
   Complete


=========================================================================
                Pass Through Commands
-------------------------------------------------------------------------

PASS THROUGH COMMANDS:

The pass through capabilities on the 6890 allows the host to
talk through the 6890 to a sampler or other device connected
to the 6890's sampler serial port.

A "path" is a logic connection through the 6890 which ties
the host port, host address and sampler port together.
A command is made up of a 2 character destination address
plus a 2 character source address.  The host is free to pick
any 2 characters for its source address.  A path is opened by
giving the host's source address along with the path number.
All communications through a path must use the same source
address given in the open command.  There are a total of 16
paths within the 6890 (P0..P9,PA..PF.)  Closing a path removes
the logical connection.  A path must be closed before it
can be reassigned.

A command received for a path that was not set up or was set up
for another datacomm port will be thrown away and an
error will be logged in the host error log (INVALID PATH.)

EXAMPLE:

      HOST                              6890                SAMPLER
    +-------+                        +-------+             +-------+
    |       |        CCHTPO 1        |       |             |       |
    |       |----------------------->|       |             |       |
    |       |        HTCCPO 0        |       |             |       |
    |       |<-----------------------|       |             |       |
    |       |                        |       |             |       |
    |       |         CCHTPL         |       |             |       |
    |       |----------------------->|       |             |       |
    |       |HTCCPL ,,HT,2,,,,,, ... |       |             |       |
    |       |<-----------------------|       |             |       |
    |       |                        |       |             |       |
    |       |        02HTINJ         |       |   02PBINJ   |       |
    |       |----------------------->|       |------------>|       |
    |       |      HT02INJ OK        |       |  PB02INJ OK |       |
    |       |<-----------------------|       |<------------|       |
    |       |                        |       |             |       |
    |       |        CCHTPC 1        |       |             |       |
    |       |----------------------->|       |             |       |
    |       |        CCHTPC 0        |       |             |       |
    |       |<-----------------------|       |             |       |
    |       |                        |       |             |       |
    +-------+                        +-------+             +-------+


   1) open pass through path to sampler (this will open a path between the
      host port, the 6890's sampler serial port and HT)

      Host sends:   (set up path 1 to use HT)
         CCHTPO  1
      Host receives:  (return OK)
         HTCCPO  0

   2) list all paths in 6890 the destination addresses are given if open

      Host sends:
         CCHTPL
      Host receives:
         HTCCPL ,,HT,2,,,,,,,,,,,,,,,,

   2) begin communicating with sampler

      Host sends:
         02HTINJ
      Sampler receives:
         02PBINJ
      Sampler sends:
         PB02INJ OK
      Host receives:
         HT02INJ OK
      Host sends:
         02HTSTATUS
      Sampler receives:
         02PBSTATUS
      Sampler sends:
         PB02STATUS 123,456
      Host receives:
         HT02STATUS 123,456

          .
          .
          .


   3) close pass through path ( Removes path between sampler serial port and HT.
       Any future messages coming in sampler serial port for HT will be lost.)

         CCHTPC  1




=========================================================================
CCssPO          Open Pass Through Path to Sampler Port             CCssPO
-------------------------------------------------------------------------
FUNCTION:
   This command is used to set up the command pass through capability
   of the 6890.  It opens a channel between the host and the sampler
   serial port.  The address used to open a path must be used for all
   communications through the path.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssPO <path>

     <path> -  pass through path (up to 16 total)
        [0..15]

GC RETURNS:
   CCssPO <response>

     <response> -
                0 = OK
                3 = INVALID_PARAM - path or address is out of range
                10 = MISSING_PARAM - the <path> parameter is missing
                14 = NOT_ALLOWED  - destination address may be in use already

COMMENTS:

  Responses received on unopened paths are lost.  And an error will be
  logged in the host error log.

  The following gives the addresses used by each path.

          PATH         ADDR
           0            PA
           1            PB
           2            PC
           3            PD
           4            PE
           5            PF
           6            PG
           7            PH
           8            PI
           9            PJ
          10            PK
          11            PL
          12            PM
          13            PN
          14            PO
          15            PP

STATUS:
   Complete


=========================================================================
CCssPC          Close Pass Through Path to Sampler Port            CCssPC
-------------------------------------------------------------------------
FUNCTION:
   This command is used to remove a pass through path with in the

   6890.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssPC <path>

     <path> -  pass through path (up to ten total)
        [0..9]

GC RETURNS:
   CCssPC <response>

     <response> -
                0 = OK
                3 = INVALID_PARAM - port or address is out of range
                10 = MISSING_PARAM - the <path> parameter is missing

COMMENTS:
  No harm will be done if a closed path is closed again.


STATUS:
   Complete


=========================================================================
CCssPL          List Pass Through Paths                            CCssPL
-------------------------------------------------------------------------
FUNCTION:
   This command is used to list all open paths used by the 6890 pass
   through mechanism.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssPL

GC RETURNS:
   ssCCPL  <destination_address0> ,<port0>,
           <destination_address1> ,<port1>,
           <destination_address2> ,<port2>,
           <destination_address3> ,<port3>,
           <destination_address4> ,<port4>,
           <destination_address5> ,<port5>,
           <destination_address6> ,<port6>,
           <destination_address7> ,<port7>,
           <destination_address8> ,<port8>,
           <destination_address9> ,<port9>,
           <destination_address10> ,<port10>,
           <destination_address11> ,<port11>,
           <destination_address12> ,<port12>,
           <destination_address13> ,<port13>,
           <destination_address14> ,<port14>,
           <destination_address15> ,<port15>

   <destination_addressx> 2 character destination address used by host
       XX - any number or letter.
   <portx> - host port used by path
       0 - Host serial port
       1 - Sampler serial port
       2 - HPIB port
       3 - MIO port


COMMENTS:

If a path is no open the <destination_addresss> and <port> will not
be sent, however the commas separators will be given.
For example:

    ssCCPL AB,0,,,CD,2,,,,,,,,,,,,,,,,,,,,,,,,,,,

STATUS:
   Complete


=========================================================================
CCssCH          Configure Host Serial Port                         CCssCH
-------------------------------------------------------------------------

FUNCTION:
   Configure the host serial port of the 6890. The configuration is
   set by this command, but the new configuration will not become
   active until the next reset (CCssRS) or power cycle.  The "?" option
   always returns the current setting not what it will be after the
   next reset. The sampler serial port is not configurable.

PART OF WORKFILE:  No

HOST ISSUES:

   CCssCH <baud_rate>,<handshake>,<parity>,<bits_per_char>,
                            <stop_bits>,<terminating_sequence>

      <baud_rate> - baud rate for transmitter and receiver
         0 = 300
         1 = 1200
         2 = 2400
         3 = 4800
         4 = 9600  (default)
         5 = 19200
         6 = 28800
         7 = 38400
         8 = 57600

      <handshake> - data pacing handshake
         0 = none - no handshake    (default)
         2 = XON_XOFF - XON and XOFF in both directions
         3 = Hardware - CTS and RTS handshake in both directions

      <parity> - type of parity
         0 = none - no parity bit on receive or transmit   (default)
         1 = odd  - check and send odd parity
         2 = even - check and send even parity
         3 = mark - check and send parity bit as 1
         4 = space - check and send parity bit as 0

      <bits_per_char> - number of bits per char
         0 = 7 data bits per char
         1 = 8 data bits per char  (default)

      <stop_bits> - number of stop bits sent per char
         0 = 1 stop_bits_1   (default)
         1 = 2 stop_bits_1_5
         2 = 3 stop_bits_2

      <terminating_sequence> - end of command indication
         0 =  terminating sequence = Line Feed    (default)
         1 =  terminating sequence = Carriage Return

GC RETURNS:
   no response

HOST ISSUES:
 CCssCH ?

GC RETURNS:
  returns current setting
  NOTE: the current settings may be different than the parameters sent
  to the 6890, since they do not take effect until the next reset.

STATUS:
   Complete


=========================================================================
CCssER          Read Error Log For Host Commands                   CCssER
-------------------------------------------------------------------------

FUNCTION:
    This command reads the datacomm error log.  All errors from
    parsing and executing commands are logged in the log.  Up to
    20 errors may be stored. After 20 errors, additional errors are
    ignored.  Reading the error log removes all entries.

PART OF WORKFILE:  No

HOST ISSUES:
 CCssER

GC RETURNS:
   ssCCER {<dsap><ssap><opcode> P<parameter_number> E<error_number>;}EN

   <dsap><ssap><opcode> - header info for the cmd creating the error
   <parameter_number> - parameter that caused the error
            Parameter_number of zero refers to an error in the
            <dsap><ssap><opcode> part of the command.
   <error_number> - one of the following errors:

   OK              = 0,
   PARAM_TOO_LARGE = 1,
   PARAM_TOO_SMALL = 2,
   INVALID_PARAM   = 3,  /* wrong param type (number vs alpha vs boolean-0or1)*/
   NO_INSTR        = 4,  /* no instruction was found in input msg */
   INSTR_SYNTAX    = 5,  /* beginning of instr was found but not complete */
   INVALID_DEST    = 6,  /* instruction syntax was OK but dsap was unknown */
   INVALID_OP      = 7,  /* the operation specified in the cmd is invalid */
   PARAM_LENGTH    = 8,  /* max len of all param (MAX_PARM_LEN) was exceeded */
   NUM_OF_PARAM    = 9,  /* max number of param. (MAX_PARM_NUN) was exceeded */
   MISSING_PARAM   = 10, /* required param. was not present */
   PARAM_SYNTAX    = 11,  /* non printing char found in parameter */
   SYNTAX_ERROR    = 12, /* syntax error in the command */
   NOT_INSTALLED   = 13,
   NOT_ALLOWED     = 14, /* param is valid, but not allowed in this case */
   NOT_COMPATIBLE  = 15, /* param is not compatible with hardware installed */
   OVEN_GT_MAX     = 16, /* Oven temp > Oven Maximum param */
   INIT_GT_MAX     = 17, /* Oven init temp > Oven maximum param */
   FINAL1_GT_MAX   = 18, /* Oven final temp 1 > Oven maximum param */
   FINAL2_GT_MAX   = 19, /* Oven final temp 2 > Oven maximum param */
   FINAL3_GT_MAX   = 20, /* Oven final temp 3 > Oven maximum param */
   FINAL4_GT_MAX   = 21, /* Oven final temp 4 > Oven maximum param */
   FINAL5_GT_MAX   = 22, /* Oven final temp 5 > Oven maximum param */
   FINAL6_GT_MAX   = 23, /* Oven final temp 6 > Oven maximum param */
   OVEN_CALIB_MAX  = 24, /* Oven calibration value higher than max */
   OVEN_CALIB_MIN  = 25, /* Oven calibration value lower than max  */
   PARAM_CHANGED   = 26, /* One or more parameters were modified */
   NOT_VALID_DURING_RUN = 27,     /* Cannot be excuted when gc is in a run */
   NOT_VALID_DURING_SCC_RUN = 28, /*Cannot be excuted when gc is in an scc run*/
   SCC_RUN_LENGTH_TOO_SHORT = 29, /* Run length too short to do a blank run */
   NO_SCC_DATA         = 30, /*No column compensation data stored for ccomp1/2*/
   NOT_VALID_IN_OVEN_TRACK_MODE = 31,/*Cannot set the temp while in track mode*/
   SCC1_DET_SETPT      = 32, /* Col comp1 det setpt is set to NULL_POSITION */
   SCC2_DET_SETPT      = 33, /* Col comp2 det setpt is set to NULL_POSITION */
   FRONT_DET_OFF       = 35, /* Front detector board is OFF                   */
   BACK_DET_OFF        = 36, /* Back detector board is OFF                    */
   TABLE_FULL          = 37, /* Run/Clock/? table full                        */
   TABLE_ENTRY_EMPTY   = 38, /* attempt to read an empty table entry          */
   WRONG_VERSION       = 39, /* Sequence/Method invalid version # */
   CORRUPTED_MEMORY    = 40, /* Local (IQ) stored sequence/method corrupt     */
   LINK_ERROR          = 41, /* Data Comm Link error */
   LINK_ABNORMAL_BREAK = 42, /* abnormal break in communications */
   LINK_DATA_ERROR     = 43, /* data error (parity, framing etc) */
   LINK_OVERRUN        = 44, /* data overrun error; data lost */
   TEST_PASSED         = 45, /* requested test passed */
   TEST_FAILED         = 46, /* requested test failed */
   SAMPLER_OFFLINE     = 47, /* ALS not responding    */
   COMMAND_ABORTED     = 48, /* cmd error - subsequent parameters ignored (IXSP
                                IXPP CxNR ) */
   TIME_OUT            = 49, /* instruction timed out due to error in system */
   PARAM_ABORTED       = 50, /* parameter was judged invalid and ignored,
                                remainder of command continued (GCPO) */
   INVALID_PATH        = 51, /* a pass thru cmd was found with path not set up
                                or path is in use by another datacomm port. */
   EXCEEDS_CALIB_RANGE = 52, /* calibration would cause too much of a
                                correction, attempt disallowed */
   OUTSIDE_ALLOWED_RANGE=53, /* attempted calibration too far away from span */
   IN_PROGRESS          =54, /* still calibrating (flow sensor offset) try
                                checking again */
   PCB_CMD_FAILED       =55, /* command sent to pcb2 did not work. */
   POST_TEMP_GT_MAX     =56, /* post temp setpt greater than max setpt */
   OTHER_CRYO_CONFIGURED=57, /* another small zone or the oven is configured */
                             /* with a different cryo type                   */
   UNSUPPORTED_CRYO_TYPE=58, /* this zone does not support this cryo type    */
   CRYO_VALVE_CONFLICT  =59  /* another zone is using the cryo valve drive   */

STATUS:
   Complete

=========================================================================
CCssLA            Read/Set LAN Address                             CCssLA
-------------------------------------------------------------------------

FUNCTION:
   This command is used to read the DHCP enable, IP address, subnet mask,
   and default gateway of the LAN card if installed.  It can also
   be used to set those parameters
   (changes take effect at next power-on).

PART OF WORKFILE:  No

HOST ISSUES:
   CCssLA ?

GC RETURNS:
   ssCCLA <dhcpe>,<ip_1>,<ip_2>,<ip_3>,<ip_4>,<sub_1>,
          <sub_2>,<sub_3>,<sub_4>,<gate_1>,<gate_2>,<gate_3>,<gate_4>

      <dhcpe>              - DHCP enable, 0 = disabled, 1 = enabled
      <ip_1> .. <ip_4>     - IP Address, 4 bytes, 0 .. 255
      <sub_1> .. <sub_4>   - Subnet Mask, 4 bytes, 0 .. 255
      <gate_1> .. <gate_4> - Default Gateway, 4 bytes, 0 .. 255

HOST ISSUES:
   CCssLA <dhcpe>,<ip_1>,<ip_2>,<ip_3>,<ip_4>,<sub_1>,
          <sub_2>,<sub_3>,<sub_4>,<gate_1>,<gate_2>,<gate_3>,<gate_4>

NOTE:
   Changes take place at next power on. If DHCP enable is 1 then the
   LAN card will accept its address from a DHCP server. Also, if the
   IP address is set to 0.0.0.0 then this also activates DHCP mode.



=========================================================================
CCssLS            Read LAN Status                                  CCssLS
-------------------------------------------------------------------------

FUNCTION:
   This command is used to determine a LAN card's serial number,
   MAC address and firmware revision.

PART OF WORKFILE:  No

HOST ISSUES:
   CCssLS ?

GC RETURNS:
   ssCCLS <serial_number>,<MAC_address>,<firmware_rev>

      <serial_number> - 7-digit serial number of the LAN card

      <MAC_address> - the LAN card's MAC address in the form
         ##:##:##:##:##:##
         where # = any hex digit

      <firmware_rev> - the LAN card's firmware revision number
         and date of the revision



/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */
***************************************************************************
***************************************************************************
* COLUMN COMMANDS:                                                        *
***************************************************************************


=========================================================================
C1ssNR                                                             C1ssNR
C2ssNR          Column Pneumatics Ramp                             C2ssNR
-------------------------------------------------------------------------

FUNCTION:
    This command will set the pressure or flow  profile for a column.
    May specify the column pneumatics parameters in terms of column
    pressure or flow, but not both. the 'what' parameter tells 6890
    what the values are.  'what' must match the unit the ramp is in.

    The two parameters, defined and what must match the current
    column configuration or the command will be aborted.  To have
    a defined column, it must have a defined length, diameter, and source.

    The what parameter is used to indicate whether the succeeding flow/pres
    values are flows or pressures.  Again, this must match the native ramp
    type for this column or the command will be aborted.

    Note that for inlets with NO control modes, i.e. those that have
    "*" in all 4 control mode columns, the following applies:

     1/ A method upload to the host will NOT include the CxCxNR command
        for the column that is driven by such a "NO control" inlet.

     2/ A direct query by the host will give a response as if the inlet
        DID have the "Const P" mode, i.e. there will be a bogus response
        with <pneumatics mode>=0  .

        *************************** Proposal ***************************
        A direct query in this case ( i.e. a "NO control" inlet ) should
        get "<valid> = 0" to denote the "bogus" nature of this situation.
        This man page should indicate both behaviours (if the proposal
        is accepted) AND show the f/w rev break that applies.
        *********************** End Proposal ***************************

                NativeRampType:

For undefined columns:            ---------- Control Mode ----------
                                 Const P    Const F     Ramp P  Ramp F

              PP_INLET           *          FLOW        *       FLOW
              COC_INLET          PRES       PRES        PRES    *
              SS_INLET           PRES       PRES        PRES    *
              PTV_INLET          PRES       PRES        PRES    *
              MAN_PP_INLET       *          *           *       *
              MAN_COC_INLET      *          *           *       *
              MAN_SS_INLET       *          *           *       *
              SOME_AUX           PRES       PRES        PRES    *
              UNKNOWN_TYPE       *          *           *       *
              ACI_INLET          *          FLOW        *       FLOW
              G_PTV_INLET        *          *           *       *
              MAN_ACI_INLET      *          *           *       *
              CIS4               PRES       PRES        PRES    *
              SIMDIST_INLET      *          FLOW        *       FLOW
              CIS3_INLET         PRES       PRES        PRES    *
              Volatile_capped    *          FLOW        *       FLOW
              Volatile_plumbed   PRES       PRES        PRES    *

For defined columns:              ---------- Control Mode ----------
                                 Const P    Const F     Ramp P  Ramp F

              PP_INLET            PRES       FLOW        PRES    FLOW
              COC_INLET           PRES       FLOW        PRES    FLOW
              SS_INLET            PRES       FLOW        PRES    FLOW
              PTV_INLET           *          *           *       *
              MAN_PP_INLET        *          *           *       *
              MAN_COC_INLET       *          *           *       *
              MAN_SS_INLET        *          *           *       *
              SOME_AUX            PRES       FLOW        PRES    FLOW
              UNKNOWN_TYPE        *          *           *       *
              ACI_INLET           PRES       FLOW        PRES    FLOW
              G_PTV_INLET         *          *           *       *
              MAN_ACI_INLET       *          *           *       *
              CIS4                PRES       PRES        PRES    *
              SIMDIST_INLET       PRES       FLOW        PRES    FLOW
              CIS3_INLET          PRES       FLOW        PRES    FLOW
              Volatile_capped     PRES       FLOW        PRES    FLOW
              Volatile_plumbed    PRES       FLOW        PRES    FLOW

PART OF WORKFILE:  Yes - Setpoint

HOST ISSUES:
 C1ssNR <valid>,<defined_column>,<pneumatics_mode>,<what>,
                        <init_value>,<init_time>,
                        <rate_1>,<final_value_1>,<final_time_1>,
                        <rate_2>,<final_value_2>,<final_time_2>,
                        <rate_3>,<final_value_3>,<final_time_3>,
                        <post_value>

   <valid> - always returned as 1, and always ignored by 6890.
               This command helps the host (workstation) know that
               the command is valid in this configuration, and
               should not to be sent (not part of method) in invalid
               configurations (all of the *'s above ).
   <defined_column> - no = 0, yes = 1
   <pneumatics_mode> -
       0 - constant pressure
       1 - constant flow
       2 - ramped pressure
       3 - ramped flow
   <what> -   pres = 0, flow = 1  (the type of the following values)
   <init_value> - initial pressure/flow of a ramp or the only pressure
          for non ramped mode.
   <init_time> - time at initial pressure/flow
   <rate_1> - rate of pressure rise
   <final_value_1> - final pressure/flow reached by ramp 1
   <final_time_1> - time at final pressure/flow of ramp 1
      .
      .
      .
   <post_value> - column pressure/flow during POST RUN.


GC RETURNS:
  no response

HOST ISSUES:
 C1ssNR ?
GC RETURNS:
    returns current settings

STATUS:
   Complete


=========================================================================
C1ssPI                                                             C1ssPI
C2ssPI          Set Column Pressure Immediate                      C2ssPI
-------------------------------------------------------------------------
FUNCTION:
    Sets the pressure of the column immediately.
    May set the column pneumatics parameters in terms of pressure, flow
    or velocity.  Only one of these should be used since modifying one
    will affect the others.

   Outside of run:
      The pressure value set will affect the initial value in the
      workfile.
   During run:
      Changing the pressure changes the current setpoint but does
      not affect the initial value in the workfile.
      If the pressure was ramping at the time the pressure was changed, then
      the ramp will continue from the new set point to the final value
      of that ramp.


PART OF WORKFILE:  May affect it.

HOST ISSUES:
 C1ssPI <pressure>
   <pressure> - bring pressure to <pressure> immediately
GC RETURNS:
  no response

HOST ISSUES:
 C1ssPI ?
GC RETURNS:
  returns current settings

STATUS:
   Complete


=========================================================================
C1ssFI                                                             C1ssFI
C2ssFI          Set Column Flow Immediate                          C2ssFI
-------------------------------------------------------------------------
FUNCTION:
    Sets the flow of the column immediately.
    May set the column pneumatics parameters in terms of pressure, flow
    or velocity.  Only one of these should be used since modifying one
    will affect the others.

   Outside of run:
      The flow value set will affect the initial value in the
      workfile.
   During run:
      Changing the flow changes the current setpoint but does
      not affect the initial value in the workfile.
      If the flow was ramping at the time the flow was changed, then
      the ramp will continue from the new set point to the final value
      of that ramp.


PART OF WORKFILE:  May affect it.

HOST ISSUES:
 C1ssFI <flow>
   <flow> - bring flow to <flow> immediately
GC RETURNS:
  no response

HOST ISSUES:
 C1ssFI ?
GC RETURNS:
  returns current settings

STATUS:
   Complete

=========================================================================
C1ssVI                                                             C1ssVI
C2ssVI          Set Column Velocity Immediate                      C2ssVI
-------------------------------------------------------------------------
FUNCTION:
    Sets the velocity of the gas through the column immediately.
    May set the column pneumatics parameters in terms of pressure, flow
    or velocity.  Only one of these should be used since modifying one
    will affect the others.

   Outside of run:
      The velocity value set will affect the initial value in the
      workfile.
   During run:
      Changing the velocity changes the current setpoint but does
      not affect the initial value in the workfile.
      If the velocity was ramping at the time the velocity was changed, then
      the ramp will continue from the new set point to the final value
      of that ramp.

PART OF WORKFILE:  May affect it.

HOST ISSUES:
 C1ssVI <velocity>
   <velocity> - bring the velocity to <velocity> immediately
GC RETURNS:
  no response

HOST ISSUES:
 C1ssVI ?
GC RETURNS:
  returns current settings

STATUS:
   Complete



=========================================================================
C1ssCF                                                             C1ssCF
C2ssCF          Column Configuration                               C2ssCF
-------------------------------------------------------------------------
FUNCTION:
    This command configures the column dimensions.
    Note, vacuum correction and pressure correction may NOT be on
    at the same time. Turning on one will automatically turn off the other.

PART OF WORKFILE:  Yes - Config

HOST ISSUES:
 C1ssCF <col_length>,<col_diameter>,<col_film_thickness>,
        <inlet_connection>,<detect_connection>,
        <col_outlet_pressure_correct_value>, <vacuum_correct>,
        <col_outlet_pressure_correct>

      <col_length> - column length
      <col_diameter> - column diameter
      <col_film_thickness> - column film thickness
      <inlet_connection>
            0 - FRNT_INLET
            1 - BACK_INLET
            2 - AUX_3
            3 - AUX_4
            4 - AUX_5
            5 - UNKNOWN

      <detect_connection>
            0 - FRNT_DET
            1 - BACK_DET
            2 - UNKNOWN

      <vacuum_correct> - vacuum correction
              0 - OFF
              1 - ON
      <col_outlet_pressure_correct_value>  - pressure at end of column
      <col_outlet_pressure_correct> - compensate for detector pressure
              0 - OFF
              1 - ON

GC RETURNS:
  no response

HOST ISSUES:
 C1ssCF ?
GC RETURNS:
  returns current settings

STATUS:
   Complete


=========================================================================
C1ssPW                                                             C1ssPW
C2ssPW          Column Expected Minimum Peak Width                 C2ssPW
-------------------------------------------------------------------------

FUNCTION:  return an expected minimum peak width for a defined column on
           an EPC source.  if the peak width cannot be calculated, 99.999
           is returned.


PART OF WORKFILE:  No

HOST ISSUES:
    C1ssPW ?
GC RETURNS:
    ssC1PW <peak_width>
        <peak_width> - XXX.XXX in minutes, with thousandsth of a minute
                       resolution

STATUS:
   Complete


=========================================================================
                         Column Calibration
-------------------------------------------------------------------------

=========================================================================
C1ssCC                                                             C1ssCC
C2ssCC          Calibrate a column                                 C2ssCC
-------------------------------------------------------------------------

FUNCTION:   perform column calibration.


PART OF WORKFILE:  No

HOST ISSUES:
C1ssCC  <mode>,<meas_flow>,<holdup_time>

   <mode>  calibration mode
           0 = uncalibrated  (disabled current calib)
           1 = length only   (requires either <meas_flow> or <holdup_time>)
           2 = diam only     (requires either <meas_flow> or <holdup_time>)
           3 = length & diam (requires both <meas_flow> & <holdup_time>)

   <meas_flow>  measured value (NTP) for column flow.

   <holdup_time>  time (minutes with thousandsth of a minute resolution)
                  unretained peak

   NOTE: <meas_flow> and <holdup_time> must be specified as 0 if not used

GC RETURNS:
ssC1CC  <error_number>,<parameter_number>

  <error_number> = error number (see CCssER)
  <parameter_number> = parameter causing error

HOST ISSUES:
   C1ssCC ?

GC RETURNS:
   Current settings

EXAMPLE:
HOST ISSUES:
    C1ssCC  1,0,0.473
GC RETURNS:
    C1ssCC  0,0

HOST ISSUES:
    C1ssCC ?
GC RETURNS:
    ssC1CC 1,0,0.473

STATUS:
   Complete



=========================================================================
C1ssIC                                                             C1ssIC
C2ssIC          Install(ed) Column                                 C2ssIC
-------------------------------------------------------------------------

FUNCTION: get/set all column dimensions and calibration parameters.
          This command will NOT CALIBRATE a column, it will set the
          nominal and calibrated values.  The command allows the
          workstation to implement a column database.  The 6890
          performs little checking on incoming parameters.

PART OF WORKFILE:  No

HOST ISSUES:
C1ssIC  <nl>,<nd>,<ft>,<cm>,<mf>,<ht>,<cl>,<cd>,<dt>,<id_str>

   <nl>     nominal column length
   <nd>     nominal column diameter
   <ft>     nominal film thickness
   <cm>     calibration mode
              0 = uncalibrated
              1 = length only
              2 = diam only
              3 = length & diam
   <mf>     measured value (NTP) used to calibrate the column, 0 if not used
   <ht>     unretained peak time used to calibrate the column, 0 if not used
   <cl>     calibrated length
   <cd>     calibrated diameter
   <dt>     date/time (seconds since 1980) column was calibrated
   <id_str> up to 19 character string to describe column (must be quoted).
            Initialized to a single space character(" "). The <id_str> can
            only be changed by the workstation and is intended to be used
            to identify a particular column.

GC RETURNS:
ssC1CC  <error_number>,<parameter_number>

  <error_number> = error number (see CCssER)
  <parameter_number> = parameter causing error

HOST ISSUES:
   C1ssIC ?
GC RETURNS:
   Current settings

EXAMPLE:
HOST ISSUES:
    C1ssIC  2500,200,50,1,2450,195,5000,0.473,46229635,"25mx200u .5ft HP1"
GC RETURNS:
    C1ssIC  0,0

HOST ISSUES:
    C1ssIC ?
GC RETURNS:
    C1ssIC  2500,200,50,1,2450,195,5000,47,46229635,"25mx200u .5ft HP1"

STATUS:
   Complete


/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */
***************************************************************************
***************************************************************************
* DETECTOR COMMANDS:                                                      *
***************************************************************************

=========================================================================
                      Detector Thermal Setpoints
-------------------------------------------------------------------------

-------------------------------------------------------------------------
DFssTZ                                                             DFssTZ
DBssTZ          Detector Thermal Zone ON/OFF                       DBssTZ
-------------------------------------------------------------------------

FUNCTION:
    This command turns the detector thermal zone on or off.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssTZ <on/off>
   <on/off> - set zone on or off [on|off]
      <off> - 0
      <on> - 1
GC RETURNS:
   no response

HOST ISSUES:
 DFssTZ ?
GC RETURNS:
  returns current value [0|1]

STATUS:
    Complete


-------------------------------------------------------------------------
DFssTR                                                             DFssTR
DBssTR          Detector Temperature Ramp                          DBssTR
-------------------------------------------------------------------------

FUNCTION:
    This command will set the temperature profile for the detectors.

    The current GC user interface presents an isothermal detector view
    to the chemist (i.e. detector ramps are NOT available from the GC
    keyboard.)  Workstation implementors may also want to hide this ramp
    capability.  It is only included for possible future use with
    temperature-dependent variable restrictors in SFC.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssTR <init_temp>,<init_time>,
        <rate_1>,<final_temp_1>,<final_time_1>,
        <rate_2>,<final_temp_2>,<final_time_2>,
        <rate_3>,<final_temp_3>,<final_time_3>,
        <rate_4>,<final_temp_4>,<final_time_4>,
        <rate_5>,<final_temp_5>,<final_time_5>,
        <rate_6>,<final_temp_6>,<final_time_6>,
        <rate_7>,<final_temp_7>,<final_time_7>,
        <rate_8>,<final_temp_8>,<final_time_8>,
        <rate_9>,<final_temp_9>,<final_time_9>,
        <rate_10>,<final_temp_10>,<final_time_10>,
   <init_temp> - initial temperature of a ramp or only temp for non ramped
      detectors.
   <init_time> - time at initial temperature
   <rate_n> - rate of temperature rise
   <final_temp_n> - final temperature of reached by ramp n
   <final_time_n> - time at final temperature of ramp n
      ...
GC RETURNS:
  no response

HOST ISSUES:
 DFssTR ?
GC RETURNS:
    returns current settings

STATUS:
    Complete.

-------------------------------------------------------------------------
DFssTI                                                             DFssTI
DBssTI          Set Detector Temp Immediate                        DBssTI
-------------------------------------------------------------------------
FUNCTION:
    Sets the temperature of the thermal zone immediately.

   Outside of run:
      The temperature value set will effect the initial value in the
      workfile.
   During run:
      Changing the zone temperature changes the current setpoint but does
      not effect the initial value in the workfile.
      If the zone was ramping at the time the temp was changed, then
      the ramp will continue from the new set point to the final value
      of that ramp.

PART OF WORKFILE:  No

HOST ISSUES:
 DFssTI <temp>
    <temp> - bring temperature to <temp> immediately
GC RETURNS:
  no response

HOST ISSUES:
 DFssTI ?
GC RETURNS:
  returns current setting

STATUS:
    Complete.

=========================================================================
                Detector Pneumatic/Electronic Setpoints
-------------------------------------------------------------------------

The setpoints for the detectors are strongly dependent on the type of
detector.  Therefore, different commands are used for the different
detector types.

All flows are given in ul/min and all pressures are given in dyn/sq.cm.

ORDER DEPENDENCY WARNING:  Each on/off setpoint must follow
   its corresponding value setpoint because changing any value
   setpoint forces an implicit ON.

-----------------------------------------------------------------------------

FID - Flame Ionization Detector

                                  __|  |__
                                 |        |
                                 |       O----- Glow plug
                                 |        |  <flame_on/off>
                                 ||      ||
                                 ||      |----- Collector
                                 ||      || <pol_voltage_on/off>
                                 ||      ||
                   +------+      |  /  \  |
                   | Pres |      |  |  |  |
          Air =====|Sensor|===X===  |  |  |
      <air_flow>   +------+      |  |  |  |
                   +------+      |  |  |  |
          H2  =====| Pres |===X======  |  |
       <H2_flow>   |Sensor|      |__|  |__|
                   +------+         |  |
                                    |  |
                    <combined_flow> |  |      +------+
                                    |  ===X===| Pres |===== Makeup
                                    ||||      |Sensor|    <mkup_flow>
                                    ||||      +------+
                                     ||
                                     ||
          X = frit
                                   Column



-----------------------------------------------------------------------------

NPD - Nitrogen Phosphorus Detector

                                  __|  |__
                                 |        |
                                 ||      ||
                                 ||      |----- Collector
                                 ||      || <pol_voltage_on/off>
                                 ||      ||
                                 ||  **-------- Bead
                                 ||      || <bead_power>
                   +------+      |  /  \  |
                   | Pres |      |  |  |  |
          Air =====|Sensor|===X===  |  |  |
      <air_flow>   +------+      |  |  |  |
                   +------+      |  |  |  |
          H2  =====| Pres |===X======  |  |
       <H2_flow>   |Sensor|      |__|  |__|
                   +------+         |  |
                                    |  |
                    <combined_flow> |  |      +------+
                                    |  ===X===| Pres |===== Makeup
                                    ||||      |Sensor|    <mkup_flow>
                                    ||||      +------+
                                     ||
                                     ||
          X = frit
                                   Column

-----------------------------------------------------------------------------

FPD - Flame Photometric Detector

                                  __|  |__
                                 |        |
                                 |       O----- Glow plug
                                 |        |  <flame_on/off>
                                 |        |
                                 |        +---------+-----------------+
                                 |        : Optical : Photomultiplier |
                                 |        : Filter  :      Tube       |
                                 |        +---------+-----------------+
                   +------+      |  /  \  |         <pmt_voltage_on/off>
                   | Pres |      |  |  |  |
          Air =====|Sensor|===X===  |  |  |
      <air_flow>   +------+      |  |  |  |
                   +------+      |  |  |  |
          H2  =====| Pres |===X======  |  |
       <H2_flow>   |Sensor|      |__|  |__|
                   +------+         |  |
                                    |  |
                    <combined_flow> |  |      +------+
                                    |  ===X===| Pres |===== Makeup
                                    ||||      |Sensor|    <mkup_flow>
                                    ||||      +------+
                                     ||
                                     ||
          X = frit
                                   Column

-----------------------------------------------------------------------------

ECD - Electron Capture Detector

                   +------+         ____
    Anode Purge ===| Pres |===X======  |
    <anode_flow>   |Sensor|         |++------ Anode
                   +------+         |||| <electronics_on/off>
                                    ||||   <target_output>
                           _________||||
                           _________ |||
                                   / || \
                                  /  ||  \
                                 |   ##   |          63
                                 |   ##   | 15 mCi Ni
                                 |   ##   | plated on inside surface
                                 |   ##   |
                                 |   ##   |
                                  \      /
                                   \    /
                                    |  |
                    <combined_flow> |  |      +------+
                                    |  ===X===| Pres |===== Makeup
                                    ||||      |Sensor|    <mkup_flow>
                                    ||||      +------+
                                     ||
                                     ||
          X = frit
                                   Column

-----------------------------------------------------------------------------

TCD - Thermal Conductivity Detector

                                               |  |
                                           ____|  |____
                                          |  ________  |
                                          | |        | |
                                          | |        | |
                                     ------\|        | |
                                          |/|        | |
                             Filament     |\|        | |
                        <filament_on/off> |/|        | |
                                          |\|        | |
                                     ------/|        | |
                                          | |        | |
                                          | |        | |
                           +---------+    | |________| |
            +------+       |  5 Hz   |=====____    ____=====++
Reference ==| Pres |===X===|Switching|         |  |         ||
<ref_flow>  |Sensor|       |  Valve  |======================++
            +------+       +---------+         |  |
                        <filament_on/off>      |  |
                                               |  |
                               <combined_flow> |  |      +------+
                                               |  ===X===| Pres |===== Makeup
                                               ||||      |Sensor| <mkup_flow>
                                               ||||      +------+
                                                ||
                                                ||
          X = frit
                                              Column



=========================================================================
DFssNZ                                                             DFssNZ
DBssNZ          Set Detector Pneumatic Channels On/Off             DBssNZ
-------------------------------------------------------------------------
FUNCTION:
    This command turns the the pneumatic zone on or off.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssNZ <fuel>,<util>,<mug>
   <fuel> - set pneu fuel channel on or off [1|0]
   <util> - set pneu util channel on or off [1|0]
   <mug>  - set pneu mug  channel on or off [1|0|5]
            5 = STANDBY, used by LDID detector.  Sending 0 to LDID will
                put the detector into standby resulting in a return of 5
                when reading back the setpoint.

GC RETURNS:
  no response

HOST ISSUES:
 DFssNZ ?
GC RETURNS:
  returns current settings


-------------------------------------------------------------------------
DFssFI                                                             DFssFI
DBssFI          Flame Ionization Detector Electronic Setpoints     DBssFI
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the flame ionization
    detector.

PART OF WORKFILE:  Yes:  must occur after pneumatics commands in
    workfile for <flame_on/off> to work as expected.

HOST ISSUES:
 DFssFI <pol_voltage_on/off>,<flame_on/off>,<lit_offset>
   <pol_voltage_on/off> - turn collector polarizing voltage on/off
      OFF = 0
      ON = 1
   <flame_on/off> - enable/disable flame ignition
      OFF = 0
      ON = 1

      If ON and the current flame status is OFF or SHUTDOWN then the
      ignition/reignition state machine is (re)started.  This setpoint
      does not change the H2, air, and polarizing voltage setpoints, so
      if any of them are OFF the ignition process will not succeed.

      If OFF and the current flame status is not OFF then the
      ignition/reignition state machine goes to the OFF state.  This
      setpoint does not change the H2, air, and polarizing voltage
      setpoints, so this does not by itself extinguish the flame.

   <lit_offset>
      pA increase in detector output required to declare that flame is lit.
      Flame reignition will attempt if difference is less than this value.
      Set to "0" to disable flame lit detection and automatic reignition.
GC RETURNS:
  no response

HOST ISSUES:
 DFssFI ?
GC RETURNS:
  returns current settings

STATUS:
    Complete.


-------------------------------------------------------------------------
DFssFP                                                             DFssFP
DBssFP          Flame Photometric Detector Electronic Setpoints    DBssFP
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the flame photometric
    detector.

PART OF WORKFILE:  Yes:  must occur after pneumatics commands in
    workfile for <flame_on/off> to work as expected.

HOST ISSUES:
 DFssFP <pmt_voltage_on/off>,<flame_on/off>,<lit_offset>
   <pmt_voltage_on/off> - turn photomultiplier high voltage on/off
      OFF = 0
      ON = 1
   <flame_on/off> - enable/disable flame ignition
      OFF = 0
      ON = 1

      If ON and the current flame status is OFF or SHUTDOWN then the
      ignition/reignition state machine is (re)started.  This setpoint
      does not change the H2, air, and polarizing voltage setpoints, so
      if any of them are OFF the ignition process will not succeed.

      If OFF and the current flame status is not OFF then the
      ignition/reignition state machine goes to the OFF state.  This
      setpoint does not change the H2, air, and polarizing voltage
      setpoints, so this does not by itself extinguish the flame.

   <lit_offset>
      Signal level increase in detector output (in signal display counts)
      required to declare that flame is lit.
      Flame reignition will attempt if difference is less than this value.
      Set to "0" to disable flame lit detection and automatic reignition.
      Default: 2.0
      Range: 0.0 to 99.9

GC RETURNS:
  no response

HOST ISSUES:
 DFssFP ?
GC RETURNS:
  returns current settings

STATUS:
    Complete.


-------------------------------------------------------------------------
DFssTC                                                             DFssTC
DBssTC          Thermal Conductivity Detector Electronic Setpoints DBssTC
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the thermal conductivity
    detector.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssTC <filament_on/off>,<neg_polarity_on/off>
   <filament_on/off> - turn filament voltage on/off
      OFF = 0
      ON = 1
             Note that 6890 precludes the state where Ref_Flow < 5.0 ml/m
             and filament=ON .  This keeps ambient air away from a hot
             filament.  To enforce this:
             a/  the ref flow is automatically turned on whenever the
                 filament is turned on.
             b/  Once the filament is on , if the Ref_Flow falls below
                 5 ml/m for any reason the filament is automatically
                 switched off.

   <neg_polarity_on/off> - invert output signal
      OFF = 0
      ON = 1
GC RETURNS:
  no response

HOST ISSUES:
 DFssTC ?
GC RETURNS:
  returns current settings

STATUS:
    Complete.


-------------------------------------------------------------------------
DFssEC                                                             DFssEC
DBssEC          Electron Capture Detector Electronic Setpoints     DBssEC
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the electron capture
    detector.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssEC <electronics_on/off>,<target_output>
   <electronics_on/off> - turn pulser on/off
      OFF = 0
         pulser off
      ON = 1
         pulser on
   <target_output> - desired output value (one unit = 5hz)

      If new <target_output> is same as current then no action.

      If new <target_output> is different than old and
      <electronics> is ON
      then initiate reference current adjust to attain new
      <target_output>.

GC RETURNS:
  no response

HOST ISSUES:
 DFssEC ?
GC RETURNS:
  returns current settings

STATUS:
    Complete.


-------------------------------------------------------------------------
DFssUE                                                             DFssUE
DBssUE    Micro Electron Capture Detector Electronic Setpoints     DBssUE
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the micro electron capture
    detector, uECD.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssUE <electronics_on/off>
   <electronics_on/off> - turn pulser on/off
      OFF = 0
         pulser off
      ON = 1
         pulser on

GC RETURNS:
  no response

HOST ISSUES:
 DFssUE ?
GC RETURNS:
  returns current settings

STATUS:
    Incomplete.


-------------------------------------------------------------------------
DFssHI                                                             DFssHI
DBssHI  Linear Discharge Ionization Detector Electronic Setpoints  DBssHI
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the LDID detector.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssHI <electrometer_on/off>,<hi_v_on/off>,<plasma_on/off>

GC RETURNS:
  no response

HOST ISSUES:
 DFssHI ?

GC RETURNS:
 ssDFHI <electrometer_on/off>,<hi_v_on/off>,<plasma_on/off>,<glow_status>,
        <glow_level>

    where
   <electrometer_on/off> - turns electrometer on or off
      OFF = 0
      ON  = 1

   <hi_v_on/off> - turns the electrometer high voltage on and off.

   <plasma_on/off> - turns the plasma high voltage on and off.  If
                     the glow_status indicates SHUTDOWN (fault), it is
                     cleared by turning the plasma off then on.

   <glow_status> - read only, indicates detector glow presence, 0=off, 1=on
                   -1 = shutdown (fault).

   <glow_level>  - diagnostic information for development, plasma supply


COMMENTS:
     It is unnecessary for a user interface to have separate controls for
electrometer, high voltage, and plasma - they can all be switched together.
Separate controls would be used for diagnostics.


-------------------------------------------------------------------------
DFssNP                                                             DFssNP
DBssNP          Nitrogen/Phosphorus Detector Electronic Setpoints  DBssNP
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the nitrogen/phosphorus
    detector.

PART OF WORKFILE:  Yes:  must occur after pneumatics commands in
    workfile for <target_output> parameter to function correctly.

HOST ISSUES:
 DFssNP <pol_voltage_on/off>,<bead_on/off>,<target_output>,<equib_time>
   <pol_voltage_on/off> - turn polarizing voltage on/off
      OFF = 0
      ON = 1
   <bead_on/off> - turn bead power on/off
      OFF = 0
      ON = 1
      Note:  As of A3.03 firmware the NP bead is now protected from
             sudden voltage changes. Any bead voltage change will be
             implemented in a slew-rate limited fashion where
             the voltage increases no faster than +13.mV per 1.0 second
             step.  This applies to:
             a/ OFF->ON transitions: the OFF state sets the actual bead
                voltage to 0.0 VDC
             b/ OFF->ON transitions that are implicit in a power fail
                recovery . As power resumes the actual bead voltage is set to
                0.0 VDC .
   <target_output> - desired output value (one unit = 1 pa)
      If new <target_output> is same as current then no action.

      If  new <target_output> is different that current AND  ( also see Dx..AO )
                               polarizing voltage is on AND
                                       bead power is on AND
                                          H2 flow is on AND
                             H2 flow is non-zero if epc AND
                                         air flow is on AND
                            air flow is non-zero if epc
      THEN initiate bead power adjust to attain new <target_output>.

   <equib_time> - how many minutes the detector offset must be stable
      before exiting the automated adjustment procedure
GC RETURNS:
  no response

HOST ISSUES:
 DFssNP ?
GC RETURNS:
  returns current settings

STATUS:
    Complete.

-------------------------------------------------------------------------
DFssAI                                                             DFssAI
DBssAI            Analog Input Board Electronic Setpoints          DBssAI
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the analog input board.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssAI <electrometer_on/off>
   <electrometer_on/off> - turn board on/off
      OFF = 0
      ON = 1
GC RETURNS:
  no response

HOST ISSUES:
 DFssAI ?
GC RETURNS:
  returns current settings

STATUS:
    Complete.

-------------------------------------------------------------------------
DFssNI                                                             DFssNI
DBssNI          Flame Ionization Detector Pneumatic Setpoints      DBssNI
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the flame ionization
    detector.  Not all parameters are valid in all configurations.
    Valid configurations are given within brackets {}.

PART OF WORKFILE:  Yes

REVISION NOTE:  As of firmware release A.03.01 or higher
    this command will return the WORKFILE setpoints for the
    hydrogen and air flows.  This change was done to ensure that
    no temporary flow settings used by the flame ignition routine
    would be picked up as setpoint values.

HOST ISSUES:
 DFssNI <makeup_mode>,<combo_flow>,<H2_flow>,<air_flow>

   <makeup_mode> - [const|col+makeup=const]
      <makeup=const> = 0
      <col+makeup=const> = 1
      {EPC}
   <combo_flow> - makeup flow to detector;
      if <makeup_mode>=0 this setpoint is the mkup flow setpt
      if <makeup_mode>=1 then this is the combined col+mkup flow setpt
      {EPC}
   <H2_flow> - fuel flow to detector
      {EPC}
   <air_flow> - air flow to detector
      {EPC}

GC RETURNS:
  no response

HOST ISSUES:
 DFssNI ?
GC RETURNS:
  returns current settings

STATUS:
    Complete.


-------------------------------------------------------------------------
DFssNF                                                             DFssNF
DBssNF          Flame Photometric Detector Pneumatic Setpoints     DBssNF
-------------------------------------------------------------------------

FUNCTION:
    This command will set or report  the workfile parameters for the flame
    photometric detector gas flows and makeup gas mode.  Not all parameters
    are valid in all configurations.  Valid configurations are given within
    brackets {}.

PART OF WORKFILE:  Yes

REVISION NOTE:  As of firmware release A.03.01 or higher
    this command will return the WORKFILE setpoints for the
    hydrogen and air flows.  This change was done to ensure that
    no temporary flow settings used by the flame ignition routine
    would be picked up as setpoint values.

HOST ISSUES:
 DFssNF <makeup_mode>,<combo_flow>,<H2_flow>,<air_flow>

   <makeup_mode> - [const|col+makeup=const]
      <makeup=const> = 0
      <col+makeup=const> = 1
      {EPC}
   <combo_flow> - makeup flow to detector;
      if <makeup_mode>=0 this setpoint is the mkup flow setpt
      if <makeup_mode>=1 then this is the combined col+mkup setpt
      {EPC}
   <H2_flow> - fuel flow to detector
      {EPC}
   <air_flow> - air flow to detector
      {EPC}

GC RETURNS:
  no response

HOST ISSUES:
 DFssNF ?
GC RETURNS:
  returns current settings

STATUS:
    Complete.


-------------------------------------------------------------------------
DFssNT                                                             DFssNT
DBssNT          Thermal Conductivity Detector Pneumatic Setpoints  DBssNT
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the thermal conductivity
    detector.  Not all parameters are valid in all configurations.
    Valid configurations are given within brackets {}.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssNT <makeup_mode>,<combo_flow>,<ref_flow>

   <makeup_mode> - [const|col+makeup=const]
      <makeup=const> = 0
      <col+makeup=const> = 1
      {EPC}
   <combo_flow> - makeup flow to detector;
      if <makeup_mode>=0 this setpoint is the mkup flow setpt
      if <makeup_mode>=1 then this is the combined col+mkup setpt
      {EPC}
   <ref_flow> - reference flow to detector ;
                For TCD manifolds built prior to A.3.03 firmware
                the minimum value is 0.0 ml/m .  For A.3.03 and beyond
                the minimum is NON-ZERO .  In A.3.03 the value is 5.0
                ml/m . The min value is stored in the TCD module eeprom.
                See <filament_on/off>  for more information.
      {EPC}

GC RETURNS:
  no response

HOST ISSUES:
 DFssNT ?
GC RETURNS:
  returns current settings

STATUS:
    Complete.


-------------------------------------------------------------------------
DFssNE                                                             DFssNE
DBssNE          Electron Capture Detector Pneumatic Setpoints      DBssNE
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the electron capture
    detector.  Not all parameters are valid in all configurations.
    Valid configurations are given within brackets {}.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssNE <makeup_mode>,<combo_flow>,<anode_flow>

   <makeup_mode> - [const|col+makeup=const]
      <makeup=const> = 0
      <col+makeup=const> = 1
      {EPC}
   <combo_flow> - makeup flow to detector;
      if <makeup_mode>=0 this setpoint is the mkup flow setpt
      if <makeup_mode>=1 then this is the combined col+mkup setpt
      {EPC}
   <anode_flow> - anode purge flow to detector
      {EPC}

GC RETURNS:
  no response

HOST ISSUES:
 DFssNE ?
GC RETURNS:
  returns current settings

STATUS:
    Complete.


-------------------------------------------------------------------------
DFssNH                                                             DFssNH
DBssNH  Linear Discharge Ionization Detector Pneumatic Setpoints   DBssNH
-------------------------------------------------------------------------

FUNCTION:
    This command will set the pneumatics parameters for the LDID
    detector.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssNH <det_flow>

GC RETURNS:
  no response

HOST ISSUES:
 DFssNH ?

GC RETURNS:
 ssDFNH <det_flow>,<min_flow>

   <det_flow> - det_gas flow setpoint

   <min_flow> - minimum gas flow setpoint allowed (read only)


-------------------------------------------------------------------------
DFssNU                                                             DFssNU
DBssNU    Micro Electron Capture Detector Pneumatic Setpoints      DBssNU
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the micro electron capture
    detector.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssNU <makeup_mode>,<combo_flow>

   <makeup_mode> - [const|col+makeup=const]
      <makeup=const> = 0
      <col+makeup=const> = 1

   <combo_flow> - makeup flow to detector;
      if <makeup_mode>=0 this setpoint is the mkup flow setpt
      if <makeup_mode>=1 then this is the combined col+mkup setpt

GC RETURNS:
  no response

HOST ISSUES:
 DFssNU ?
GC RETURNS:
  returns current settings

STATUS:
    Incomplete.

-------------------------------------------------------------------------
DFssNN                                                             DFssNN
DBssNN          Nitrogen/Phosphorus Detector Pneumatic Setpoints   DBssNN
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the nitrogen/phosphorus
    detector.  Not all parameters are valid in all configurations.
    Valid configurations are given within brackets {}.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssNN <makeup_mode>,<combo_flow>,<H2_flow>,<air_flow>

   <makeup_mode> - [const|col+makeup=const]
      <makeup=const> = 0
      <col+makeup=const> = 1
      {EPC}
   <combo_flow> - makeup flow to detector;
      if <makeup_mode>=0 this setpoint is the mkup flow setpt
      if <makeup_mode>=1 then this is the combined col+mkup setpt
      {EPC}
   <H2_flow> - fuel flow to detector
      {EPC}
   <air_flow> - air flow to detector
      {EPC}

GC RETURNS:
  no response

HOST ISSUES:
 DFssNN ?
GC RETURNS:
  returns current settings

STATUS:
    Complete.

-------------------------------------------------------------------------
DFssDA                                                             DFssDA
DBssDA                 Detector DAC Setpoints                      DBssDA
-------------------------------------------------------------------------

FUNCTION:
    This command sets the DAC setpoint for a detector.  Currently the NPD
    uses a DAC to control bead voltage and the ECD uses a DAC to control
    reference current.

PART OF WORKFILE:  No:  the NPD and ECD use the target_output value in
    their detector commands to derive the DAC setpoint.

HOST ISSUES:
  DFssDA <DAC_setpt>
    <DAC_setpt> - for ECD, reference current in .01 nA (i.e. 100 = 1 nA)
                - for NPD, bead voltage target in mV (i.e. 1000 = 1 V)
                  Note:  As of A3.03 firmware the NP bead is now protected
                     from sudden voltage increases. Any voltage increase
                     will be implemented in a slew-rate limited manner
                     where the bead voltage increases no faster than +13.mV
                     per 1. second step.  Here, the <DAC_setpt> creates a
                     target for the actual bead voltage, and the actual
                     voltage moves toward the target in 13.mV/sec steps.
                     The 13.mV/sec limit also applies to :
                     a/  Voltages changes entered at the 6890 keybd.
                     b/  Voltage changes that are part of the 6890
                         driven automated adjuistment procedure.
                     Negative changes converge immediately.
                - for all other detectors, error
GC RETURNS:
  no response

HOST ISSUES:
  DFssDA ?
GC RETURNS:
  returns current value
    <DAC_setpt> - for ECD, returns current value of cell reference current
                  in .01 nA (i.e. 100 = 1 nA)
                - for NPD, as of A303 f/w, it returns current value of bead
                  voltage target in mV (i.e. 1000 = 1 V) .
                  Note: this is not necessarily the current ACTUAL bead
                     voltage .
                - for all other detectors, returns 0
STATUS:
    Complete.

=========================================================================
DFssSL                                                             DFssSL
DBssSL          Report/Set Detector Signal Label                   DBssSL
-------------------------------------------------------------------------

FUNCTION:
    This command may be used to set custom signal units for a detector.
    The command will store the signal units label in battery backed up
    RAM.  Note, if the battery fails the label will be lost.  Also if
    a detector is moved from one instrument to another the label will
    be lost.

PART OF WORKFILE:  No

HOST ISSUES:
 DFssSL <signal_unit_label>
   <signal_unit_label> - the label may contain up to 10 characters, where
   each character may be any printable 7 bit ASCII character except for
   the double quote, comma, or curly bracket (",{}) characters. To remove
   a custom label issue the command with empty string {}.  Also, if no
   custom title is available the command will return empty curly brackets.

GC RETURNS:
  no response

HOST ISSUES:
 DFssSL ?
GC RETURNS:
  returns current settings

EXAMPLE:
   Set the detector signal unit:
      HOST:
        DBssSL {hertz}

   Read the detector title:
      HOST:
        DBssSL ?
      GC:
        ssDBSL {hertz}

STATUS:
   Part of Seaquest release.
   Complete.



=========================================================================
DFssST                                                             DFssST
DBssST          Detector Status                                    DBssST
-------------------------------------------------------------------------

FUNCTION:
    Command returns the status of the detector. All flows are given in
    uL/min.  Note, if a detector is not installed these values are
    undefined.

PART OF WORKFILE:  No

HOST ISSUES:
 DFssST
GC RETURNS:
 ssDFST  <thermal_status>,<setpnt_temp>,<act_temp>,
         <pneumatic_status>,<setpnt_fuel>,<act_fuel>,
         <setpnt_util>,<act_util>,<setpnt_makeup>,<act_makeup>,
         <on/off_status>,<output>

   <thermal_status> - status of zone (thermal fault, thermal shutdown, etc.)
         0 = OK
         1 = Thermal shutdown
         Note, if any zone in the system has a thermal fault all zones are
         shutdown.
   <setpnt_temp> - current setpoint temperature of detector
   <act_temp> - actual temperature of detector
   <pneumatic_status> -
          Bit Map for pneumatic_status:
             Bit0,1 - Fuel flow status bits
             Bit2,3 - Utility flow status bits
             Bit4,5 - Makeup flow status bits
          Definition for gas flow status bit pairs listed above:
            0 = OFF
            1 = ON
            2 = Not Used (undefined)
            3 = Shutdown
   <setpnt_fuel> - current fuel gas flow setpoint
   <act_fuel> - actual fuel gas flow
   <setpnt_util> - current util gas flow setpoint
   <act_util> - actual util gas flow
   <setpnt_makeup> - current makeup gas flow setpoint
   <act_makeup> - actual makeup gas flow
   <on/off_status> - detector on/off status
        -2 = FAIL
        -1 = SHUTDOWN
         0 = OFF
         1 = ON
         2 = TRANSITION ("igniting" or "adjusting")
         3 = WAITING (detector temp too cold)
         4 = WAITING2 (detector or oven temp not ready)
   <output> - current value of detector signal

STATUS:
   Complete.


=========================================================================
DFssCF                                                             DFssCF
DBssCF          Detector Configuration                             DBssCF
-------------------------------------------------------------------------
FUNCTION:
    This command configures the detector gas types.

PART OF WORKFILE:  No

HOST ISSUES:
 DFssCF <makeup_gas_type>,<oxidizer_gas_type>
   <makeup_gas_type> - type of makeup gas: FID|TCD|NPD|FPD
      N2 = 0
      H2 = 1
      He = 2
      ArMe = 3
      unknown = 7
   <makeup_gas_type> - type of makeup gas: ECD
      N2 = 0
      ArMe = 3
      unknown = 7

   <oxidizer_gas_type> - type of oxidizer gas : FPD
      Air = 5  (over-write with x <> 5 is  rejected )

GC RETURNS:
  no response

HOST ISSUES:
 DFssCF ?
GC RETURNS:
  returns current settings

STATUS:
    Complete.


=========================================================================
DFssMF                                                             DFssMF
DBssMF          Detector Maximum Gas Flow Rates                    DBssMF
-------------------------------------------------------------------------
FUNCTION:
    This command returns the max flow rates for an installed detector
    DxMF may _not_ be used to limit 6890 max flow rates.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssMF ?
GC RETURNS:

 ssDFMF   <Fuel-N2>, <Fuel-H2>,  <Fuel-He>, <Fuel-ArMe>,
          <Fuel-O2>, <Fuel-Air>, <Fuel-Ar>,
          <Util-N2>, <Util-H2>,  <Util-He>, <Util-ArMe>,
          <Util-O2>, <Util-Air>, <Util-Ar>,
          <Mug-N2>,  <Mug-H2>,   <Mug-He>,   <Mug-ArMe>,
          <Mug-O2>,  <Mug-Air>,  <Mug-Ar>

      where <Fuel-H2> is the maximum flow rate for H2 on the fuel channel.
      where <Util-N2> is the maximum flow rate for N2 on the util channel.
      where <Mug-ArMe>  is the maximum flow rate for ArMe on the mug channel.
      ... and so on

      invalid gases for a particular channel return a 0 as the max flow rate.

      by looking for non-zero values, the host may determine all allowed
      gas/channel combinations.

NOTE: while this command is currently in the configuration section of the
      workfile, it is not used for configuration checking as part of method
      download.  Future releases of the 6890 may perform this checking.


STATUS:
    Complete.




=========================================================================
           Detector Channel Partner Friendly Commands
-------------------------------------------------------------------------

                    +----------------+
                    |   6890         |
 +------------+     |   Mainboard    |     +-----------+     +------------+
 | Pneu Module|     |                |     | OIM Board |     | AIB or FID |
 |            |+   +|                |+   +|  G2316A   |+   +|            |
 |            ||---||                ||---||           ||---||            |
 |            ||---||                ||---||           ||---||            |
 |            ||---||                ||---||           ||---||            |
 |            ||---||                ||---||           ||---||            |
 |            |+   +|                |+   +|           |+   +|            |
 |            |     |                |     |           |     |            |
 +------------+     |                |     +--++++++++-+     +------------+
                    |                |        ||||||||
                    |                |        ||||||||
                    +----------------+        ||||||||
                                              ||||||||
                                             +--------+
                                             |********|
                                             |********|
                                             +--------+
                                           16 bits of output


CPF Configuration Constraints:
   1) The Open Interface Module is dependent on the Flow Control
      Module.  Can not have an Open Interface Module without a
      a Flow Control Module in the corresponding position.
   2) May have Flow Control Module without Open Interface Module.
   3) May have an AIB or FID Electrometer independently of having a Flow
      Control Module or an OIM board.
   4) The FID electronic module may be used for signal input and is called
      an Electrometer on the 6890 keyboard and display.  The flame ignition
      is disabled on the FID Electrometer.


VALID CPF BOARD COMBINATIONS:

AIB
Elctrmtr
OIM_Pneu
OIM_Pneu +   AIB
OIM_Pneu + Elctrmtr
OIM_Pneu +   OIM_Ctl
OIM_Pneu +   OIM_Ctl   +   AIB
OIM_Pneu +   OIM_Ctl   + Elctrmtr
FID_Det  +   OIM_Ctl

    where  FID_Det = current EPC FID detector - FID pneumatics and electronics
           OIM_Pneu = FID pneumatics module programmed for CPF
           Elctrmtr = FID electronics using signal only
           AIB = analog input board
           OIM = Open Interface Module






-------------------------------------------------------------------------
DFssOI                                                             DFssOI
DBssOI          Open Interface Module Setpoints                    DBssOI
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters associated with the OIM
    module.  The OIM module requires that there is an EPC module
    installed and it is programmed for the OIM module.
    There are two formats available called Numeric and On/Off.  Both
    formats support an ON/OFF state and they both may have multiple
    bits associated with them.
     Numeric format:
         OFF state:
             All lines to OFF state.
         ON state:
            Output lines return to the last setpoint.

     On/Off format:
         OFF state:
             All lines to OFF state.
         ON state:
             All lines to ON state.

   Up to four channels are available on the OIM board.
   Note: if a channel is not in use, zeros will be returned for that
   channel when queried.  Also if the parameters of an unused control
   is set to zero, no action will be taken and no error will be issued.

PART OF WORKFILE:  Yes

HOST ISSUES:
DFssOI <on_off1>,<value1>,<on_off2>,<value2>,<on_off3>,<value3>,
          <on_off4>,<value4>

   <on_offX> - turn control on or off
      0 - OFF
      1 - ON
   <valueX> - depends on <ctlX_format>
      On/Off format:
         parameter ignored  (<on_off> is used to set ON or OFF)
      Numeric format: [0..<max>]
         <max> = (2^<ctlX_num_bits>) - 1

HOST ISSUES:
 DFssOI ?
GC RETURNS:
  returns current settings
  If a channel is not in use zeros will be returned for that channel.

STATUS:
   Part of Seaquest release.
   Complete.


=========================================================================
DFssEI                                                             DFssEI
DBssEI          Electrometer Input Board Electronic Setpoints      DBssEI
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the electrometer input
    board.  The electrometer input board uses the electronics from
    the FID detector.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssEI <electrometer_on/off>
   <electrometer_on/off> - turn board on/off
      OFF = 0
      ON = 1
GC RETURNS:
  no response

HOST ISSUES:
 DFssEI ?
GC RETURNS:
  returns current settings

STATUS:
   Part of Seaquest release.
   Complete.



=========================================================================
DFssEL                                                             DFssEL
DBssEL          Convert Signal Board To Electrometer               DBssEL
-------------------------------------------------------------------------

FUNCTION:
    This command configures a detector signal board to act as an
    electrometer.  An electrometer is a detector signal board with no
    corresponding pneumatics module.  The command would only be used
    when a signal board is installed in a detector slot and there is no
    corresponding pneumatics module.  For example, if an OIM Electrometer
    is installed with no pneumatics module, this command is needed to
    tell the 6890 to treat the board as an electrometer instead of an
    FID detector.

PART OF WORKFILE:  No

HOST ISSUES:
 DFssEL <electrometer_type>
   <electrometer_type>
      0 = Not electrometer
      1 = electrometer
GC RETURNS:
  no response

HOST ISSUES:
 DFssEL ?
GC RETURNS:
  returns current settings

STATUS:
   Part of Seaquest release.
   Complete.

=========================================================================
DFssET                                                             DFssET
DBssET          Electrometer Title                                 DBssET
-------------------------------------------------------------------------

FUNCTION:
    This command may be used to set the title when the detector slot
    contains an electrometer board, or an AIB board or no board.  The
    command will store the title in battery backed up RAM.  NOTE, if
    the battery fails the title will be lost.  Also, if the detector
    is moved from one instrument to another the title will not follow.
    If an EPC module is available, the title should be stored in the
    EPC module EEPROM (see OIM documentation.)

PART OF WORKFILE:  No

HOST ISSUES:
 DFssET <title>
   <title> - detector title may contain up to 6 characters, where each
   character  may be any printable 7 bit ASCII character except for the
   double quote, comma, or curly bracket (",{}) characters. If no custom
   title is available the command will return empty curly brackets.

GC RETURNS:
  no response

HOST ISSUES:
 DFssET ?
GC RETURNS:
  returns current settings

EXAMPLE:
   Set the detector title:
      HOST:
        DBssET {PID}

   Read the detector title:
      HOST:
        DBssET ?
      GC:
        ssDBET {PID}

STATUS:
   Part of Seaquest release.
   Complete.



=========================================================================
                        Detector Calibration
-------------------------------------------------------------------------

Two commands are needed to completely calibrate the detector pressure.
The commands provide the two points required to determine the pressure
curve.  One command provides the zero offset (xZ) and the other
is used to calculate slope of the curve (xP).  The calibration status
command returns the offsets and flows used for the calibration and date
of last calibration.

-------------------------------------------------------------------------
DFssZF                                                             DFssZF
DBssZF          Calibrate Detector Fuel Flow Zero                  DBssZF
-------------------------------------------------------------------------
FUNCTION:
    This command is used to calibrate the fuel gas zero flow offset.

PART OF WORKFILE:  No

NOTE: Set versions of this command always generates a response.  If an
      error occurs on a get (?) version, no response will be issued.

RESPONSE:  DFssZF 0,0    command executed without error.
           DFssZF #,#    (error number, parameter causing error) error response

           DFssZF ...    normal response to a ?
           <none>        there is no response if an error occurred in a ?


HOST ISSUES:
 DFssZF 0
    Note, 0 is required.
GC RETURNS:
 DFssZF 0,0

HOST ISSUES:
 DFssZF ?
GC RETURNS:
 ssDFZF <zero_flow>
    <zero_flow> - flow determined from last zero command.

STATUS:
    Complete.

-------------------------------------------------------------------------
DFssZU                                                             DFssZU
DBssZU          Calibrate Detector Util Flow Zero                  DBssZU
-------------------------------------------------------------------------
FUNCTION:
    This command is used to calibrate the util gas zero flow offset.

PART OF WORKFILE:  No

NOTE: Set versions of this command always generates a response.  If an
      error occurs on a get (?) version, no response will be issued.

RESPONSE:  DFssZU 0,0    command executed without error.
           DFssZU #,#    (error number, parameter causing error) error response

           DFssZU ...    normal response to a ?
           <none>        there is no response if an error occurred in a ?


HOST ISSUES:
 DFssZU 0
    Note, 0 is required.
GC RETURNS:
 DFssZU 0,0

HOST ISSUES:
 DFssZU ?
GC RETURNS:
  ssDFZU <zero_flow>
    <zero_flow> - flow determined from last zero command.

STATUS:
    Complete.


-------------------------------------------------------------------------
DFssZM                                                             DFssZM
DBssZM          Calibrate Detector Makeup Flow Zero                DBssZM
-------------------------------------------------------------------------
FUNCTION:
    This command is used to calibrate the makeup gas zero flow offset.

PART OF WORKFILE:  No

NOTE: Set versions of this command always generates a response.  If an
      error occurs on a get (?) version, no response will be issued.

RESPONSE:  DFssZM 0,0    command executed without error.
           DFssZM #,#    (error number, parameter causing error) error response

           DFssZM ...    normal response to a ?
           <none>        there is no response if an error occurred in a ?


HOST ISSUES:
 DFssZM 0
GC RETURNS:
 DFssZM 0,0

HOST ISSUES:
 DFssZM ?
GC RETURNS:
  ssDFZM <zero_flow>
    <zero_flow> - flow determined from last zero command.

STATUS:
    Complete.

-------------------------------------------------------------------------
DFssLF                                                             DFssLF
DBssLF          Calibrate Detector Fuel Flow                       DBssLF
-------------------------------------------------------------------------
FUNCTION:
    This command is used to calibrate the detector fuel gas pressure sensor.
    The slope of the flow curve is calibrated with this command.

PART OF WORKFILE:  No

NOTE: Set versions of this command always generates a response.  If an
      error occurs on a get (?) version, no response will be issued.

RESPONSE:  DFssLF 0,0    command executed without error.
           DFssLF #,#    (error number, parameter causing error) error response

           DFssLF ...    normal response to a ?
           <none>        there is no response if an error occurred in a ?


HOST ISSUES:
 DFssLF  <measured_flow>
   <measured_flow> - current measured flow from external calibrating
                     device in uL/min.
GC RETURNS:
 DFssLF 0,0

HOST ISSUES:
 DFssLF ?
GC RETURNS:
  ssDFLF <measured_flow>
   <measured_flow> - calibration flow set by last DFssLF command.


STATUS:
    Complete.


-------------------------------------------------------------------------
DFssLU                                                             DFssLU
DBssLU          Calibrate Detector Util Flow                       DBssLU
-------------------------------------------------------------------------
FUNCTION:
    This command is used to calibrate the detector util gas pressure sensor.
    The slope of the flow curve is calibrated with this command.

PART OF WORKFILE:  No


NOTE: Set versions of this command always generates a response.  If an
      error occurs on a get (?) version, no response will be issued.

RESPONSE:  DFssLU 0,0    command executed without error.
           DFssLU #,#    (error number, parameter causing error) error response

           DFssLU ...    normal response to a ?
           <none>        there is no response if an error occurred in a ?

HOST ISSUES:
 DFssLU  <measured_flow>
   <measured_flow> - current measured pressure from external calibrating
                     device in uL/min.
GC RETURNS:
 DFssLU 0,0

HOST ISSUES:
 DFssLU ?
GC RETURNS:
  ssDFLU <measured_flow>
   <measured_flow> - calibration flow set by last DFssLU command.

STATUS:
    Complete.

-------------------------------------------------------------------------
DFssLM                                                             DFssLM
DBssLM          Calibrate Detector Makeup Flow                     DBssLM
-------------------------------------------------------------------------
FUNCTION:
    This command is used to calibrate the detector makeup gas pressure sensor.
    The slope of the flow curve is calibrated with this command.

PART OF WORKFILE:  No

NOTE: Set versions of this command always generates a response.  If an
      error occurs on a get (?) version, no response will be issued.

RESPONSE:  DFssLM 0,0    command executed without error.
           DFssLM #,#    (error number, parameter causing error) error response

           DFssLM ...    normal response to a ?
           <none>        there is no response if an error occurred in a ?


HOST ISSUES:
 DFssLM  <measured_flow>
   <measured_flow> - current measured pressure from external calibrating
                     device in uL/min.
GC RETURNS:
 DFssLM 0,0

HOST ISSUES:
 DFssLM ?
GC RETURNS:
  ssDFLM <measured_flow>
   <measured_flow> - calibration flow set by last DFssLM command.

STATUS:
    Complete.


=========================================================================
DFssLS                                                             DFssLS
DBssLS          Detector Calibration Status                        DBssLS
-------------------------------------------------------------------------
FUNCTION:
    This command gives information on the current calibration.

PART OF WORKFILE:  May be attached to workfile for additional information,
         but would not affect setpoints.

HOST ISSUES:
 DFssLS

GC RETURNS:
 ssDFLS <state>,<calib_date>,<fuel_calib_zero>,<util_calib_zero>,
       <makeup_calib_zero>,<fuel_calib_flow>,<util_calib_flow>,
       <makeup_calib_flow>,<fuel_calib_slope>,<util_calib_slope>,
       <makeup_calib_slope>

   <state> -  0 = Factory Calib, 1 = User Calib Enabled, 2 = User Calib Disabled
   <calib_date> - date of last flow calibration.
   <fuel_calib_zero> - offset of flow curve.              (flow units)
   <util_calib_zero> - offset of flow curve.              (flow units)
   <makeup_calib_zero> - offset of flow curve.            (flow units)
   <fuel_calib_flow> - calibration flow of flow curve.
   <util_calib_flow> - calibration flow of flow curve.
   <makeup_calib_flow> - calibration flow of flow curve.
   <fuel_calib_slope> - percentage correction at fuel_calib_flow
   <util_calib_slope> - percentage correction at util_calib_flow
   <makeup_calib_slope> - percentage correction at makeup_calib_flow

STATUS:
    Complete.



=========================================================================
DFssLX                                                             DFssLX
DBssLX          Change Det Calibration Status                      DBssLX
-------------------------------------------------------------------------
FUNCTION:
    This command gives/changes information on the current calibration.


NOTE: Set versions of this command always generates a response.  If an
      error occurs on a get (?) version, no response will be issued.

RESPONSE:  ssDFLX 0,0    command executed without error.
           ssDFLX #,#    (error number, parameter causing error) error response

           ssDFLX ...    normal response to a ?
           <none>        there is no response if an error occurred in a ?

HOST ISSUES:
 DFssLX <state>

GC RETURNS:
 DFssLX 0,0

HOST ISSUES:
 DFssLX ?

GC RETURNS:
 ssDFLX  <state>

   <state> -  0 = Factory Calib,         (deletes user calib forever)
              1 = User Calib Enabled,    (re-enables a disabled user calib)
              2 = User Calib Disabled    (disables an enabled user calib)

STATUS:
    Complete.

=========================================================================
DFssAO                                                             DFssAO
DBssAO                  Adjust Offset                              DBssAO
-------------------------------------------------------------------------
FUNCTION:
   Provides a means to initiate or abort detector offset adjustment on
   ECD and NPD detectors.

PART OF WORKFILE:  No

HOST ISSUES:
   DFssAO <action>
      <action>
         0 - OFF
         1 - ON
         2 - ABORT

GC RETURNS:
   ssDFAO <error_code>
      <error_code>  See error.h for complete list
         <OK> = 0               /* command was accepted */
         <INVALID_PARAM> = 3    /* specified <action> is invalid */
         <INVALID_OP> = 7       /* invalid NPD H2 or air setpoints */
         <MISSING_PARAM> = 10   /* <action> was not specified */
         <NOT_COMPATIBLE> = 15  /* detector is not an ECD or NPD */

COMMENTS:
   The <action> is equivalent to pressing the "OFF", "ON", and "DELETE"
   keys respectively on the GC keyboard when the display cursor is
   positioned on the "Adjust offset" line:

      The OFF <action> aborts any offset adjust and turns off the H2 &
      air gases for NPD.

      The ON <action> turns on the electrometer and the essential gases
      (H2 & air for NPD, anode purge for ECD) and begins the offset
      adjust.

      The ABORT <action> aborts any offset adjust.

STATUS:
    Complete.

/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */
***************************************************************************
***************************************************************************
* DISPLAY COMMANDS:                                                       *
***************************************************************************

=========================================================================
                        DISPLAY BUFFERS
-------------------------------------------------------------------------
    There are two display buffers. The host display buffer is used by the
    host, all writes to the display from the datacomm go to this buffer.
    The local display buffer is used for messages generated within the
    6890.  After a power fail the local display buffer is displayed.
    The host may change the display to the host buffer using the GCssDH
    command.  GCssDL is used to change the display back to the local
    display buffer.  Changing to the host display buffer always clears
    the host display buffer, but changing to the local display restores
    the display to the current state.
-------------------------------------------------------------------------
GCssDL          Restore Display To Local Display Buffer            GCssDL
-------------------------------------------------------------------------
FUNCTION:
    This command tells the GC to display the local display buffer.  The
    current messages in the local display buffer are displayed.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssDL

GC RETURNS:
   no response.

STATUS:
   Complete


-------------------------------------------------------------------------
GCssDH          Display Host Display Buffer                        GCssDH
-------------------------------------------------------------------------
FUNCTION:
    This command tells the GC to clear and display the host display buffer.
    This command automatically clears the display buffer before displaying
    it.  The command may also be used to clear display if already
    displaying the host display buffer.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssDH

GC RETURNS:
   no response.

STATUS:
   Complete

-------------------------------------------------------------------------
GCssDR          Control REMOTE LED of the Display                  GCssDR
-------------------------------------------------------------------------
FUNCTION:
    Command is used to control the REMOTE LED on the front panel of the
    GC. A powerfail or reset command will initialize the REMOTE LED to off.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssDR <control_code>

      <control_code> - effect of command
           0 = off
           1 = on
           2 = blink
GC RETURNS:
   no response.

STATUS:
   Complete


=========================================================================
GCssD1          Read/Write Display                                 GCssD1
GCssD2                                                             GCssD2
GCssD3                                                             GCssD3
GCssD4                                                             GCssD4
-------------------------------------------------------------------------
FUNCTION:
    This command is used to write to or read from the display.  A write
    to the display will always write to the host display buffer.
    The ASCII 7 bit character set may be used for the display message
    except for ';' and '"' characters.
    Note: writing to the display while displaying the local display buffer
    will
       1) write message to host display buffer
       2) switch display to display the host display buffer.
    Note: after a power fail the host display buffer will be cleared  and
    the local display buffer will be displayed.

PART OF WORKFILE:  No

HOST ISSUES:

GCssDx <display_string><display_string_control>

   <x> - row number [1|2|3|4]
   <display_string> - ASCII characters to be displayed, must always send
                      20 characters if using <display_string_control>.
   <display_string_control> - blinking control, one-to-one correspondence to
                              <display string>, where the same contents as the
                              display string indicates no blink and a blank in
                              the corresponding string location indicates a
                              blink.  If this is not sent then the display
                              defaults to no blink.

EXAMPLE:

HOST ISSUES:
             GCxxD2 "  NO_BLINK  BLINK      NO_BLINK         "
GC RETURNS:
             No response

NOTE:  In this example the word BLINK will be blinking.

HOST ISSUES:
             GCxxD2 ?
GC RETURNS:
             GCxxD2 "  NO_BLINK  BLINK      NO_BLINK         "

LIMITATIONS:  The semi-colon character';' and the double quote characters
      are not allowed within the display message.

NOTE: The input string is expected to be surrounded by quote characters.
      The output string will ALWAYS be the size of the display string
      followed by the blink string and it will also be surrounded by
      quote characters.  If the input display string is not the full length
      of the display then the remaining characters will be blanks and the
      display will not blink.
      If the display_string_control is not the full length,  then
      the remaining characters mirror the characters in the display_string
      such that they do not blink.

STATUS:
   Complete

=========================================================================
GCssDI          Get Indicator Status                               GCssDI
-------------------------------------------------------------------------
FUNCTION:
   This command returns the state of the front panel LED indicators.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssDI

GC RETURNS:
   ssGCDI <not_ready>,
          <pre_run>, <run>, <post_run>,
          <init_temp>, <rate>, <final_temp>,
          <frnt_gas_saver>, <rear_gas_saver>,
          <remote>, <clock_table>, <run_log>

COMMENTS:
   0 = off, 1 = on, 2 = blinking.

STATUS:
   Complete

***************************************************************************
***************************************************************************
* KEYBOARD COMMANDS:                                                      *
***************************************************************************

=========================================================================
GCssKB          Read Keycode Buffer Read                           GCssKB
-------------------------------------------------------------------------
/****  REVISIT: move this command to diagnostic test  ****/
FUNCTION:
    This command will return the contents of the keycode buffer, which
    contains the last 50 keycodes pressed.  The keycode value returned
    is related to the actual row and column of the key.  The key codes
    are returned with last key pressed given first.  After power fail
    the buffer is filled with zeros.

PART OF WORKFILE:  No

HOST ISSUES:

   GCssKB

GC RETURNS:

   ssGCKB <last_key>,<next_to_last_key>,...

WARNING:

   This command is hardware dependent.  Since the code returned is
   derived from the row and column position of the key, any changes
   to the physical layout of the keys will change the keycode.

STATUS:
   Complete

EXTRA INFORMATION:


/* NOTE: Hardware keycodes must be < 128 as we use bit 7 to flag   */
/*  that a key is being sent via data comm rather than a "real"    */
/*  keypress                                                       */
                NO_KEY          =  0,
                STOP_KEY        =  2,
                PREP_RUN_KEY    =  4,
                START_KEY       =  5,  /* Must agree with iomap.hs */
                OVEN_KEY        =  7,
                F_INLET_KEY     =  8,
                COLUMN1_KEY     =  9,
                F_DET_KEY       = 10,
                SIGNAL1_KEY     = 11,
                COL_COMP1_KEY   = 12,
                AUX_KEY         = 13,
                B_INLET_KEY     = 14,
                COLUMN2_KEY     = 15,
                B_DET_KEY       = 16,
                SIGNAL2_KEY     = 17,
                COL_COMP2_KEY   = 18,
                TEMP_KEY        = 19,
                PRES_KEY        = 20,
                FLOW_KEY        = 21,
                DET_CONTROL_KEY = 23,
                RAMP_KEY        = 24,
                STATUS_KEY      = 25,
                MODE_TYPE_KEY   = 27,
                INFO_KEY        = 28,
                CLEAR_KEY       = 29,
                UP_ARROW_KEY    = 30,
                TIME_KEY        = 31,
                ON_KEY          = 33,
                ENTER_KEY       = 34,
                DOWN_ARROW_KEY  = 36,
                POST_RUN_KEY    = 37,
                OFF_KEY         = 39,
                SEVEN_KEY       = 40,
                EIGHT_KEY       = 41,
                NINE_KEY        = 42,
                RUN_LOG_KEY     = 43,
                FRONT_KEY       = 45,
                FOUR_KEY        = 46,
                FIVE_KEY        = 47,
                SIX_KEY         = 48,
                OPTION_KEY      = 49,
                BACK_KEY        = 51,
                ONE_KEY         = 52,
                TWO_KEY         = 53,
                THREE_KEY       = 54,
                CONFIG_KEY      = 55,
                DELETE_KEY      = 57,
                ZERO_KEY        = 58,
                RADIX_KEY       = 59,
                MINUS_KEY       = 60,
                LOAD_KEY        = 61,
                METHOD_KEY      = 62,
                TIME_PROG_KEY   = 63,
                F_INJECTOR_KEY  = 64,
                VALVE_KEY       = 65,
                START_SEQ_KEY   = 66,
                STORE_KEY       = 67,
                SEQ_KEY         = 68,
                CLOCK_PROG_KEY  = 69,
                B_INJECTOR_KEY  = 70,
                TRAY_KEY        = 71,
                ADAPT_METH_KEY  = 72,

                SUPER_CLEAR     = 127    /*Fake key for data comm */




=========================================================================
GCssKP          Keycode Programming                                GCssKP
-------------------------------------------------------------------------
FUNCTION:
    This command will execute the keycode sequence received.  Any unused
    codes are ignored.  The command always responds with 0 for OK.

PART OF WORKFILE:  No

HOST ISSUES:

   GCssKP <keycode>[,<keycode>,...]

   <keycode> - see valid keycodes below

GC RETURNS:

   ssGCKR <error_code>
      <error_code>  See error.h for complete list
            0 = <OK>


STATUS:
   Complete

EXTRA INFORMATION:

   <keycode> =
   {

   NO_KEY          = ' ',    /*  ' ' is RESERVED by datacomm */
   MINUS_KEY       = '-',
   RADIX_KEY       = '.',
   NO_KEY          = '/',
   ZERO_KEY        = '0',
   ONE_KEY         = '1',
   TWO_KEY         = '2',
   THREE_KEY       = '3',
   FOUR_KEY        = '4',
   FIVE_KEY        = '5',
   SIX_KEY         = '6',
   SEVEN_KEY       = '7',
   EIGHT_KEY       = '8',
   NINE_KEY        = '9',
   SUPER_CLEAR     = ':',
   NO_KEY          = ';',        /* ; is reserved by datacomm  */
   NO_KEY          = '<',
   NO_KEY          = '=',
   NO_KEY          = '>',
   INFO_KEY        = '?',
   ENTER_KEY       = '@',
   PREP_RUN_KEY    = 'A',
   BACK_KEY        = 'B',
   CLEAR_KEY       = 'C',
   DOWN_ARROW_KEY  = 'D',
   NO_KEY          = 'E',
   FRONT_KEY       = 'F',
   OVEN_KEY        = 'G',
   F_INLET_KEY     = 'H',
   COLUMN1_KEY     = 'I',
   F_DET_KEY       = 'J',
   SIGNAL1_KEY     = 'K',
   COL_COMP1_KEY   = 'L',
   AUX_KEY         = 'M',
   B_INLET_KEY     = 'N',
   COLUMN2_KEY     = 'O',
   B_DET_KEY       = 'P',
   SIGNAL2_KEY     = 'Q',
   COL_COMP2_KEY   = 'R',
   STATUS_KEY      = 'S',
   TIME_KEY        = 'T',
   UP_ARROW_KEY    = 'U',
   NO_KEY          = 'V',
   NO_KEY          = 'W',
   DELETE_KEY      = 'X',
   NO_KEY          = 'Y',
   NO_KEY          = 'Z',
   NO_KEY          = '[',
   NO_KEY          = '\',
   NO_KEY          = ']',
   NO_KEY          = '^',
   NO_KEY          = '_',
   NO_KEY          = '`',
   START_KEY       = 'a',
   STOP_KEY        = 'b',
   TEMP_KEY        = 'c',
   PRES_KEY        = 'd',
   FLOW_KEY        = 'e',
   DET_CONTROL_KEY = 'f',
   RAMP_KEY        = 'g',
   POST_RUN_KEY    = 'h',
   RUN_LOG_KEY     = 'i',
   OPTION_KEY      = 'j',
   CONFIG_KEY      = 'k',
   LOAD_KEY        = 'l',
   MODE_TYPE_KEY   = 'm',
   ON_KEY          = 'n',
   OFF_KEY         = 'o',
   METHOD_KEY      = 'p',
   TIME_PROG_KEY   = 'q',
   F_INJECTOR_KEY  = 'r',
   STORE_KEY       = 's',
   ADAPT_METH_KEY  = 't',
   SEQ_KEY         = 'u',
   VALVE_KEY       = 'v',
   CLOCK_PROG_KEY  = 'w',
   B_INJECTOR_KEY  = 'x',
   TRAY_KEY        = 'y',
   SEQ_CONTROL     = 'z'
}


=========================================================================
GCssKC          Configure Keyboard                                 GCssKC
-------------------------------------------------------------------------
FUNCTION:
   Configure the keyboard parameters such as keyboard locks, remote start
   lock, key click, warning beep, language, and radix type.
   Note, the STOP key can never be locked out.

PART OF WORKFILE:  No

HOST ISSUES:
 GCssKC <sequence_lock>,<keyboard_lock>,<start_key_lock>, <remote_start_lock>,
          <clock_table_lock>, <clock_table_exec_lock>,
          <meth_seq_clk_tbl_lock>, <key_click>,<warning_beep>,
          <setpoint_modified_beep>,<language>, <radix>

    <sequence_lock> - [0|1] locks user from query or change of sequence
       parameters.
          0 - no locks on sequence keys.
          1 - lock sequence keys
    <keyboard_lock> - [0|1] allows host to lock out keyboard changes.
         This command does not affect the START or STOP keys.
          0 - no locks. Full query and change capability.
          1 - lock out all keys.  Sequence keys are blocked from query
             and changes as above.  Also, all other functions are query
             only -  no parameter changes will be allowed.
             NOTE:  A shutdown condition on any parameter will turn that
                   function OFF, but does not affect the setpoint in the
                   workfile.  The operator can fix the problem and turn
                   the function back ON again.  This is true even if the
                   keyboard is locked, since it has no effect on the
                   workfile setpoint.
    <start_key_lock> - [0|1] controls whether start key is active.
        The start key lock only affects the START key on the keypad, the
        APG remote start line is still active.
          0 - OFF - start key active
          1 - ON - start key locked (inactive)
    <remote_start_lock> - [0|1] controls whether APG Remote's start line
        is active. May be used to tell the GC to ignore the remote start line.
          0 - OFF - remote start line active
          1 - ON - remote start line is ignored (inactive)
    <clock_table_lock> - [0|1] disable clock table execution and keyboard
       access.
          0 - OFF - enable the clock table and its front panel key.
          1 - ON - disable the clock table and its front panel key.
    <clock_table_exec_lock> - [0|1] disables execution of the clock table,
       but allows keyboard access for updating and reading the clock table.
          0 - OFF - enable clock table execution.
          1 - ON - disable clock table execution.
    <meth_seq_clk_tbl_lock> - [0|1] locks out the following keyboard
       functions:
                  1) Load Method
                  2) Store Method
                  3) Load Sequence
                  4) Store Sequence
                  5) Sequence Control
                  6) Clock Table
          0 - OFF - enable method and sequence keys.
          1 - ON - disable method and sequence keys.
    <key_click> - [0|1] controls beeper action resulting from key press
          0 - OFF - beeper does not sound for key presses
          1 - ON - beeper clicks for each key pressed
    <warning_beep> - sets whether warnings generated within the GC produces
         a warning beep on the 6890's speaker.
          0 - OFF - no beep
          1 - ON - beeper sounds on warnings
    <setpoint_modified_beep> -  instrument will beep when one of its
        workfile setpoints have been modified.
          0 - OFF - does not beep on setpoint change
          1 - ON - beeps when a workfile setpoint is changed
    <language> - sets language to be used by the user interface.
          0 - English
          1 - German
          2 - Spanish
          3 - French
          4 - Italian
    <radix> - sets the display radix character to '.' or ','.  This
        command does not affect the radix character used in datacomm,
        which is always the '.' character.
          0 - use "." for radix
          1 - use "," for radix

GC RETURNS:
   no response

HOST ISSUES:
 GCssKC ?

GC RETURNS:
   returns current settings

STATUS:
   Complete


=========================================================================
GCssPU          Set Pressure Units                                 GCssPU
-------------------------------------------------------------------------
FUNCTION:
   This command is used to set and get the pressure units used for
   IQ's front panel display.

PART OF WORKFILE:  Yes

HOST ISSUES:
   GCssPU <pressure_units>
     <pressure_units>
           0 = psi
           1 = bar
           2 = kPa

GC RETURNS:
   No response

HOST ISSUES:
  GCssPU ?

GC RETURNS:
  current settings

COMMENTS:

STATUS:
   Complete


-------------------------------------------------------------------------
GCssST          Get Status Info                                    GCssST
-------------------------------------------------------------------------
FUNCTION:
    This command returns status information from the GC. The status
    contains five parts: internal and external not ready information,
    warnings, shutdowns, and non fatal errors.  Each part is made up of
    one or more 32-bit numbers with a bit set for each condition.  Each
    32-bit number is in hexadecimal format, with lowest significant
    bit to the right( bit31, ... bit2,bit1,bit0 .)

PART OF WORKFILE:  No

HOST ISSUES:
   GCssST
GC RETURNS:
   ssGCST <GC_not_ready_core>,<GC_not_ready_det>,<GC_not_ready>,
               <external_not_ready>,
               <warnings(1)>,<warnings(2)>,<warnings(3)>,<warnings(4)>,
               <shutdowns(1)>,<shutdowns(2)>,
               <non_fatal_errors(1)>,<non_fatal_errors(2)>,
               <non_fatal_errors(3)>,<non_fatal_errors(4)>,
               <non_fatal_errors(5)>

         <GC_not_ready_core> - Contains all temperature, flow, and pressure
             controls except for the oven (cleared when condition becomes
             ready.)
         <GC_not_ready_det> - Contains all detector control reasons for not
             ready (cleared when condition becomes ready.)
         <GC_not_ready> -   Contains all miscellaneous reasons for not ready
             (cleared when condition becomes ready.)
         <external_not_ready> - external indications of not ready (cleared
             when condition becomes ready.)
         <warnings(1)> -
         <warnings(2)> -
         <warnings(3)> -
         <warnings(4)> - changes to the instrument or incompatibilities
             which cause warnings to be issued (cleared at start of run.)
         <shutdown(1)> -
         <shutdown(2)> - indicates parts of the instrument that are
            shutdown (cleared by setting part ON or OFF or setting its
            setpoint to some value e.g. turning oven OFF.)
         <non_fatal_errors(1)> -
         <non_fatal_errors(2)> -
         <non_fatal_errors(3)> -
         <non_fatal_errors(4)> -
         <non_fatal_errors(5)> -  errors which cause the instrument to be
             not ready (cleared by fixing the problem and power cycling
             instrument.)

EXAMPLE:

HOST ISSUES:
   GCssST

GC RETURNS:
   ssGCST 0,0,20000000,40000000,0,0,0,0,0,0,0,0,0,0,0


COMMENTS:

   For detailed explanation of each bit see the Service Manual

   Any parameter stating "for future expansion" will be returned as a zero.

   From firmware: /vsrc/vireo/include/exception.h

<GC_not_ready_core>
             inja_thermal                     :1;  /* bit 31 */
             injb_thermal                     :1;  /* bit 30 */
             deta_thermal                     :1;  /* bit 29 */
             detb_thermal                     :1;  /* bit 28 */
             aux1_thermal                     :1;  /* bit 27 */
             aux2_thermal                     :1;  /* bit 26 */
             frnt_inlet_pressure              :1;  /* bit 25 */
             frnt_inlet_flow                  :1;  /* bit 24 */
             back_inlet_pressure              :1;  /* bit 23 */
             back_inlet_flow                  :1;  /* bit 22 */
             frnt_det_gas_1_flow              :1;  /* bit 21 */
             frnt_det_gas_2_flow              :1;  /* bit 20 */
             frnt_det_gas_3_flow              :1;  /* bit 19 */
             back_det_gas_1_flow              :1;  /* bit 18 */
             back_det_gas_2_flow              :1;  /* bit 17 */
             back_det_gas_3_flow              :1;  /* bit 16 */
             frnt_det_gas_1_off               :1;  /* bit 15 */
             frnt_det_gas_2_off               :1;  /* bit 14 */
             frnt_det_gas_3_off               :1;  /* bit 13 */
             back_det_gas_1_off               :1;  /* bit 12 */
             back_det_gas_2_off               :1;  /* bit 11 */
             back_det_gas_3_off               :1;  /* bit 10 */
             aux_3_pres                       :1;  /* bit  9 */
             aux_4_pres                       :1;  /* bit  8 */
             aux_5_pres                       :1;  /* bit  7 */
             filler_bits                      :7;  /* unused bits */

<GC_not_ready_detector>
             frnt_det_low_temp                :1;  /* bit 31 */
             back_det_low_temp                :1;  /* bit 30 */
             frnt_det_igniting                :1;  /* bit 29 */
             back_det_igniting                :1;  /* bit 28 */
             frnt_det_adjusting               :1;  /* bit 27 */
             back_det_adjusting               :1;  /* bit 26 */
             frnt_det_equib                   :1;  /* bit 25 */
             back_det_equib                   :1;  /* bit 24 */
             frnt_det_shutdown                :1;  /* bit 23 */
             back_det_shutdown                :1;  /* bit 22 */
             frnt_npd_slewing                 :1;  /* bit 21 */
             back_npd_slewing                 :1;  /* bit 20 */
             frnt_oem_det_nrdy                :1;  /* bit 19 */
             frnt_oem_det_nrdy1               :1;  /* bit 18 */
             frnt_oem_det_nrdy2               :1;  /* bit 17 */
             frnt_oem_det_nrdy3               :1;  /* bit 16 */
             frnt_oem_det_nrdy4               :1;  /* bit 15 */
             frnt_oem_det_nrdy5               :1;  /* bit 14 */
             frnt_oem_det_nrdy6               :1;  /* bit 13 */
             frnt_oem_det_nrdy7               :1;  /* bit 12 */
             frnt_oem_det_nrdy8               :1;  /* bit 11 */
             back_oem_det_nrdy                :1;  /* bit 10 */
             back_oem_det_nrdy1               :1;  /* bit  9 */
             back_oem_det_nrdy2               :1;  /* bit  8 */
             back_oem_det_nrdy3               :1;  /* bit  7 */
             back_oem_det_nrdy4               :1;  /* bit  6 */
             back_oem_det_nrdy5               :1;  /* bit  5 */
             back_oem_det_nrdy6               :1;  /* bit  4 */
             back_oem_det_nrdy7               :1;  /* bit  3 */
             back_oem_det_nrdy8               :1;  /* bit  2 */
             filler_bits                      :2;  /* unused bits */

<GC_not_ready>
             diagnostics_mode                 :1;  /* bit 31 */
             pneu_24_volts                    :1;  /* bit 30 */
             oven_thermal                     :1;  /* bit 29 */
             miser_mode                       :1;  /* bit 28 */
             frnt_inlet_purging               :1;  /* bit 27 */
             back_inlet_purging               :1;  /* bit 26 */
             frnt_inlet_pulse                 :1;  /* bit 25 */
             back_inlet_pulse                 :1;  /* bit 24 */
             multipos_valve                   :1;  /* bit 23 */
             sampling_valve_1                 :1;  /* bit 22 */
             sampling_valve_2                 :1;  /* bit 21 */
             test_in_progress                 :1;  /* bit 20 */
             frnt_inlet_vi_flow               :1;  /* bit 19 */
             back_inlet_vi_flow               :1;  /* bit 18 */
             frnt_inlet_solv_vent             :1;  /* bit 17 */
             back_inlet_solv_vent             :1;  /* bit 16 */
             front_injector                   :1;  /* bit 15 */
             back_injector                    :1;  /* bit 14 */
             filler_bits                      :14;  /* unused bits */

<external_not_ready>
             host                             :1;  /* bit 31 */
             external_device                  :1;  /* bit 30 */
             power_fail_recovery              :1;  /* bit 29 */
             filler_bits                      :29;  /* unused bits */

<warnings(1)>
             oven_not_installed               :1;  /* bit 31 */
             over_wattage_a                   :1;  /* bit 30 */
             over_wattage_b                   :1;  /* bit 29 */
             sigbuf1_overflow                 :1;  /* bit 28 */
             sigbuf2_overflow                 :1;  /* bit 27 */
             analog_data_lost                 :1;  /* bit 26 */
             signal_data_lost                 :1;  /* bit 25 */
             fd_config_changed                :1;  /* bit 24 */
             bd_config_changed                :1;  /* bit 23 */
             fi_config_changed                :1;  /* bit 22 */
             bi_config_changed                :1;  /* bit 21 */
             c1_config_changed                :1;  /* bit 20 */
             c2_config_changed                :1;  /* bit 19 */
             aux_3_changed                    :1;  /* bit 18 */
             aux_4_changed                    :1;  /* bit 17 */
             aux_5_changed                    :1;  /* bit 16 */
             glp_overflow                     :1;  /* bit 15 */
             fi_calib_lost                    :1;  /* bit 14 */
             bi_calib_lost                    :1;  /* bit 13 */
             fd_calib_lost                    :1;  /* bit 12 */
             bd_calib_lost                    :1;  /* bit 11 */
             pa_calib_lost                    :1;  /* bit 10 */
             host_data_overrun                :1;  /* bit  9 */
             host_data_error                  :1;  /* bit  8 */
             host_abnormal_break              :1;  /* bit  7 */
             samp_data_overrun                :1;  /* bit  6 */
             samp_data_error                  :1;  /* bit  5 */
             samp_abnormal_break              :1;  /* bit  4 */
             fi_fs_auto_cal_failed            :1;  /* bit  3 */
             bi_fs_auto_cal_failed            :1;  /* bit  2 */
             fi_aux1_cryo_conflict            :1;  /* bit  1 */
             bi_aux2_cryo_conflict            :1;  /* bit  0 */

<warnings(2)>
             col1_pneu_time1_conflict         :1;  /* bit 31 */
             col2_pneu_time1_conflict         :1;  /* bit 30 */
             f_cpf_inl_title_mismatch         :1;  /* bit 29 */
             b_cpf_inl_title_mismatch         :1;  /* bit 28 */
             f_cpf_det_title_mismatch         :1;  /* bit 27 */
             b_cpf_det_title_mismatch         :1;  /* bit 26 */
             f_inl_f_inj_incomp               :1;  /* bit 25 */
             b_inl_b_inj_incomp               :1;  /* bit 24 */
             finl_pneu_time1_conflict         :1;  /* bit 23 */
             binl_pneu_time1_conflict         :1;  /* bit 22 */
             finl_purg_time_conflict          :1;  /* bit 21 */
             binl_purg_time_conflict          :1;  /* bit 20 */
             oem_det_cfg_chgd                 :1;  /* bit 19 */
             spurious_interrupt               :1;  /* bit 18 */
             memory_reset                     :1;  /* bit 17 */
             sequence_abort                   :1;  /* bit 16 */
             front_autoinj_abort              :1;  /* bit 15 */
             als_err_num                      :1;  /* bit 14 */
             front_als_no_tower               :1;  /* bit 13 */
             front_als_comm_err               :1;  /* bit 12 */
             front_als_syringe_err            :1;  /* bit 11 */
             front_als_turret_err             :1;  /* bit 10 */
             front_als_plunger_err            :1;  /* bit  9 */
             front_als_inject_err             :1;  /* bit  8 */
             front_als_cpu_err                :1;  /* bit  7 */
             front_als_fault_err              :1;  /* bit  6 */
             front_als_reset_err              :1;  /* bit  5 */
             invalid_seq                      :1;  /* bit  4 */
             seq_bad_method                   :1;  /* bit  3 */
             front_als_align_err              :1;  /* bit  2 */
             als_range_err                    :1;  /* bit  1 */
             back_als_no_tower                :1;  /* bit  0 */

<warnings(3)>
             back_als_comm_err                :1;  /* bit 31 */
             back_als_syringe_err             :1;  /* bit 30 */
             back_als_turret_err              :1;  /* bit 29 */
             back_als_plunger_err             :1;  /* bit 28 */
             back_als_inject_err              :1;  /* bit 27 */
             back_als_cpu_err                 :1;  /* bit 26 */
             back_als_fault_err               :1;  /* bit 25 */
             back_als_reset_err               :1;  /* bit 24 */
             back_als_align_err               :1;  /* bit 23 */
             als_zhome_err                    :1;  /* bit 22 */
             als_rhome_err                    :1;  /* bit 21 */
             als_thome_err                    :1;  /* bit 20 */
             als_btlinclaw_err                :1;  /* bit 19 */
             als_clawempty_err                :1;  /* bit 18 */
             als_stopkey_err                  :1;  /* bit 17 */
             als_notray_err                   :1;  /* bit 16 */
             als_nobcr_err                    :1;  /* bit 15 */
             filler_bits                      :15;  /* unused bits */

<warnings(4)> - for future expansion

<shutdowns(1)>
             oven_scram_active                :1;  /* bit 31 */
             cryo_scram_active                :1;  /* bit 30 */
             frnt_inlet_pres_shutdown         :1;  /* bit 29 */
             frnt_inlet_flow_shutdown         :1;  /* bit 28 */
             back_inlet_pres_shutdown         :1;  /* bit 27 */
             back_inlet_flow_shutdown         :1;  /* bit 26 */
             frnt_det_gas_1_shutdown          :1;  /* bit 25 */
             frnt_det_gas_2_shutdown          :1;  /* bit 24 */
             frnt_det_gas_3_shutdown          :1;  /* bit 23 */
             back_det_gas_1_shutdown          :1;  /* bit 22 */
             back_det_gas_2_shutdown          :1;  /* bit 21 */
             back_det_gas_3_shutdown          :1;  /* bit 20 */
             pneu_aux_3_shutdown              :1;  /* bit 19 */
             pneu_aux_4_shutdown              :1;  /* bit 18 */
             pneu_aux_5_shutdown              :1;  /* bit 17 */
             multi_valve_not_switching        :1;  /* bit 16 */
             multi_valve_illegal_pos          :1;  /* bit 15 */
             f_inlet_cryo_shutdown            :1;  /* bit 14 */
             b_inlet_cryo_shutdown            :1;  /* bit 13 */
             aux_1_cryo_shutdown              :1;  /* bit 12 */
             aux_2_cryo_shutdown              :1;  /* bit 11 */
             f_inlet_full_on_shutdown         :1;  /* bit 10 */
             b_inlet_full_on_shutdown         :1;  /* bit  9 */
             filler_bits                      :9;  /* unused bits */

<shutdowns(2)> - for future expansion

<non_fatal_errors(1)>
             pneu_fpga_fault                  :1;  /* bit 31 */
             dead_pcb                         :1;  /* bit 30 */
             hydrogen_shutdown                :1;  /* bit 29 */
             sig_dsp_fault                    :1;  /* bit 28 */
             sig_dsp_rom_err                  :1;  /* bit 27 */
             sig_dsp_ram_err                  :1;  /* bit 26 */
             sig_dsp_reg_err                  :1;  /* bit 25 */
             invalid_sig_count                :1;  /* bit 24 */
             attn1_test_failed                :1;  /* bit 23 */
             attn2_test_failed                :1;  /* bit 22 */
             dac1_test_failed                 :1;  /* bit 21 */
             dac2_test_failed                 :1;  /* bit 20 */
             frnt_det_offset_invalid          :1;  /* bit 19 */
             back_det_offset_invalid          :1;  /* bit 18 */
             frnt_flame_failure               :1;  /* bit 17 */
             back_flame_failure               :1;  /* bit 16 */
             frnt_tcd_open_filament           :1;  /* bit 15 */
             back_tcd_open_filament           :1;  /* bit 14 */
             frnt_tcd_short_filament          :1;  /* bit 13 */
             back_tcd_short_filament          :1;  /* bit 12 */
             small_zone_over_current          :1;  /* bit 11 */
             thermal_fault                    :1;  /* bit 10 */
             oven_too_hot                     :1;  /* bit  9 */
             oven_too_cool                    :1;  /* bit  8 */
             oven_sensor_short                :1;  /* bit  7 */
             deta_too_hot                     :1;  /* bit  6 */
             deta_sensor_short                :1;  /* bit  5 */
             detb_too_hot                     :1;  /* bit  4 */
             detb_sensor_short                :1;  /* bit  3 */
             inja_too_hot                     :1;  /* bit  2 */
             inja_sensor_short                :1;  /* bit  1 */
             injb_too_hot                     :1;  /* bit  0 */

<non_fatal_errors(2)>
             injb_sensor_short                :1;  /* bit 31 */
             auxa_too_hot                     :1;  /* bit 30 */
             auxa_sensor_short                :1;  /* bit 29 */
             auxb_too_hot                     :1;  /* bit 28 */
             auxb_sensor_short                :1;  /* bit 27 */
             missing_line_freq_ints           :1;  /* bit 26 */
             false_line_freq_ints             :1;  /* bit 25 */
             mux_not_responding               :1;  /* bit 24 */
             invalid_mux_adc_offset           :1;  /* bit 23 */
             invalid_line_sense_rdg           :1;  /* bit 22 */
             aux_3_broken                     :1;  /* bit 21 */
             aux_4_broken                     :1;  /* bit 20 */
             aux_5_broken                     :1;  /* bit 19 */
             fd_bad_eeprom_rev                :1;  /* bit 18 */
             bd_bad_eeprom_rev                :1;  /* bit 17 */
             fi_bad_eeprom_rev                :1;  /* bit 16 */
             bi_bad_eeprom_rev                :1;  /* bit 15 */
             ax_bad_eeprom_rev                :1;  /* bit 14 */
             fd_bad_module                    :1;  /* bit 13 */
             bd_bad_module                    :1;  /* bit 12 */
             fi_bad_module                    :1;  /* bit 11 */
             bi_bad_module                    :1;  /* bit 10 */
             ax_bad_module                    :1;  /* bit  9 */
             fd_unsupported_type              :1;  /* bit  8 */
             bd_unsupported_type              :1;  /* bit  7 */
             fi_unsupported_type              :1;  /* bit  6 */
             bi_unsupported_type              :1;  /* bit  5 */
             fd_pneu_elec_mismatch            :1;  /* bit  4 */
             bd_pneu_elec_mismatch            :1;  /* bit  3 */
             mio_bd_defective                 :1;  /* bit  2 */   (Obsolete in 6890N)
             rs232_defective                  :1;  /* bit  1 */
             hpib_defective                   :1;  /* bit  0 */   (Obsolete in 6890N)

<non_fatal_errors(3)>
             samp_rs232_defective             :1;  /* bit 31 */
             fi_bad_pid                       :1;  /* bit 30 */
             bi_bad_pid                       :1;  /* bit 29 */
             fd_bad_pid                       :1;  /* bit 28 */
             bd_bad_pid                       :1;  /* bit 27 */
             pa_bad_pid                       :1;  /* bit 26 */
             fi_bad_cksum                     :1;  /* bit 25 */
             bi_bad_cksum                     :1;  /* bit 24 */
             fd_bad_cksum                     :1;  /* bit 23 */
             bd_bad_cksum                     :1;  /* bit 22 */
             pa_bad_cksum                     :1;  /* bit 21 */
             fi_bad_consts                    :1;  /* bit 20 */
             bi_bad_consts                    :1;  /* bit 19 */
             fd_bad_consts                    :1;  /* bit 18 */
             bd_bad_consts                    :1;  /* bit 17 */
             pa_bad_consts                    :1;  /* bit 16 */
             fi_io_failure                    :1;  /* bit 15 */
             bi_io_failure                    :1;  /* bit 14 */
             fd_io_failure                    :1;  /* bit 13 */
             bd_io_failure                    :1;  /* bit 12 */
             pa_io_failure                    :1;  /* bit 11 */
             frnt_det_adjust_fail             :1;  /* bit 10 */
             back_det_adjust_fail             :1;  /* bit  9 */
             f_cpf_oim_mismatch               :1;  /* bit  8 */
             b_cpf_oim_mismatch               :1;  /* bit  7 */
             oven_fan_motor                   :1;  /* bit  6 */   (6850 fault)
             zone_task                        :1;  /* bit  5 */   (6850 fault)
             duct fan                         :1;  /* bit  4 */   (6850 fault)
             inlet_fan                        :1;  /* bit  3 */   (6850 fault)
             zone_drive                       :1;  /* bit  2 */
             invalid_oven_config              :1;  /* bit  4 */   (6820 fault)
             filler_bits                      :1;  /* unused bits */

<non_fatal_errors(4)> - for future expansion

<non_fatal_errors(5)> - for future expansion


=========================================================================
GCssHR          Host Readiness                                     GCssHR
-------------------------------------------------------------------------
FUNCTION:
   This command sets and returns the current host readiness.
   The APG bus is set not ready when <host_readiness> is not
   ready.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssHR <host_readiness>
       <host_readiness> = [0|1] host contribution to GC readiness
          The poweron default value is "1".
              0 = not ready
              1 = ready
GC RETURNS:
   no response

HOST ISSUES:
   GCssHR ?
GC RETURNS:
   returns current setting

COMMENTS:

STATUS:
   Complete

=========================================================================
GCssRY          GC Readiness                                       GCssRY
-------------------------------------------------------------------------
FUNCTION:
   This command returns current GC readiness and state information.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssRY
GC RETURNS:
   ssGCRY <apg_readiness>,<gc_readiness>,<host_readiness>,
     <gc_ready_for_pre_run>,<poweron_startup_status>,<powerfail_blank_run>,

       <apg_readiness> = [0|1] current state of the APG Remote Ready
           signal.  Note, includes <gc_readiness> and <host_readiness>.
              0 = not ready
              1 = ready
       <gc_readiness> = [0|1|2] current readiness state of the GC. Note,
           <gc_readiness> is different than the logic used by GC to
           drive the APG remote lines, which becomes not ready during
           a run. <gc_readiness> gives only the GC's internal readiness.
           Also, this does not include sampler readiness.
              0 = not ready
              1 = ready
              2 = don't know, the state of the GC has changed requiring a
                  re-evaluation of readiness that is not complete
       <host_readiness> = [0|1] host contribution to GC readiness
          This is the value last-received from the host. GC reflects
          <host_readiness> on the APG Bus's READY LINE.
          The poweron default value is "1".
              0 = not ready
              1 = ready
       <gc_ready_for_pre_run> = [0|1]
          This is a subset of <gc_readiness> and includes all internal
          ready conditions except for those which will become ready
          during PRE RUN (such as the gases saver gases.)  It may be used
          by the host to determine when the GC is ready to go into PRE RUN.
          <gc_readiness> will not become ready until PRE RUN executes.  The
          Pre Run command(GCssPR) will put the GC in PRE RUN.
              0 = not ready
              1 = ready
              2 = don't know, the state of the GC has changed requiring a
                  re-evaluation of readiness that is not complete
       <poweron_startup_status> = [0|1|2]
              0 = startup complete
              1 = waiting for small zones to become ready
              2 = waiting for completion of blank run
       <powerfail_blank_run> = [0|1]
              0 = no powerfail restart blank run scheduled or in progress
              1 = a powerfail restart blank run is scheduled or in progress

EXAMPLE:
   HOST:
      GCxxRY
   GC:
      APG not ready; GC not ready; host is ready; GC waiting for Prep Run
      command; poweron startup complete; no powerfail blank run scheduled
      or in progress.
      xxGCRY 0,0,1,1,0,0

COMMENTS:
   Behavior of Not Ready LED on the GC's front panel:
       In RUN_ACTIVE or POST_RUN states:
          LED = <gc_readiness>
       In RUN_IDLE or PRE_RUN states:
          LED = <gc_readiness> + <apg_readiness> + <host_readiness>

STATUS:
   Complete


=========================================================================
GCssSI          Get Sample Info                                    GCssSI
-------------------------------------------------------------------------
FUNCTION:
   This command returns sample information from the last injection.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssSI
GC RETURNS:
   ssGCSI <frnt_sample_no>,<frnt_barcode>,<rear_sample_no>,<rear_barcode>

COMMENTS:

   Bottle_no and barcode return the values from the last injection.
   They may return indeterminate results if read during the injection
   cycle.

   sample_no is returned as a numeric value.  If the parameter was not
   active in the last run then -1 is returned.  The position of an
   active stream selection valve is returned in frnt_sample_no.

   barcode is returned as a quoted string.  If not present then "" is
   returned.

STATUS:
   Complete


=========================================================================
GCssRL          Get GC Run Log Entry                               GCssRL
-------------------------------------------------------------------------
FUNCTION:
    This command returns an entry from the GC Run Log.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssRL <log_index>

      <log_index> = 1..n corresponds to the log entry in the run
                    log.  The maximum number of entries are 50.

GC RETURNS:
   ssGCRL <deviation_code>,<line1>,<line2>,<line3>

      <deviation_code> = 0    if Run_Log [log_index] is empty
                       = 1..n if Run_Log [log_index] exists
      <line1>,<line2>,<line3> = gives ASCII description of log entry.
                       Each line corresponds to a line of the error
                       log message as displayed on the front panel.
                       Each line is enclosed in quotes.  Any trailing
                       blanks in the display are removed so the lines
                       are variable length.
EXAMPLE:

Host sends:
   GCssRL 1

GC returns:
   ssGCRL 789,"Not ready:","Divide by zero","  at runtime  999.99"

COMMENTS:

<deviation_code> =


     /*  Setpt */

   POST_TIME_DEV                  =    1,
   POST_TEMP_DEV                  =    2,
   OVEN_INIT_TEMP_DEV             =    3,
   DETA_INIT_TEMP_DEV             =    4,
   DETB_INIT_TEMP_DEV             =    5,
   INJA_INIT_TEMP_DEV             =    6,
   INJB_INIT_TEMP_DEV             =    7,
   AUXA_INIT_TEMP_DEV             =    8,
   AUXB_INIT_TEMP_DEV             =    9,
   OVEN_TEMP_DEV                  =   10,
   DETA_TEMP_DEV                  =   11,
   DETB_TEMP_DEV                  =   12,
   INJA_TEMP_DEV                  =   13,
   INJB_TEMP_DEV                  =   14,
   AUXA_TEMP_DEV                  =   15,
   AUXB_TEMP_DEV                  =   16,
   OVEN_TEMP_INIT_TIME_DEV        =   17,
   DETA_TEMP_INIT_TIME_DEV        =   18,
   DETB_TEMP_INIT_TIME_DEV        =   19,
   INJA_TEMP_INIT_TIME_DEV        =   20,
   INJB_TEMP_INIT_TIME_DEV        =   21,
   AUXA_TEMP_INIT_TIME_DEV        =   22,
   AUXB_TEMP_INIT_TIME_DEV        =   23,
   OVEN_FINAL_TEMP_DEV            =   24,
   DETA_FINAL_TEMP_DEV            =   25,
   DETB_FINAL_TEMP_DEV            =   26,
   INJA_FINAL_TEMP_DEV            =   27,
   INJB_FINAL_TEMP_DEV            =   28,
   AUXA_FINAL_TEMP_DEV            =   29,
   AUXB_FINAL_TEMP_DEV            =   30,
   OVEN_TEMP_FINAL_TIME_DEV       =   31,
   DETA_TEMP_FINAL_TIME_DEV       =   32,
   DETB_TEMP_FINAL_TIME_DEV       =   33,
   INJA_TEMP_FINAL_TIME_DEV       =   34,
   INJB_TEMP_FINAL_TIME_DEV       =   35,
   AUXA_TEMP_FINAL_TIME_DEV       =   36,
   AUXB_TEMP_FINAL_TIME_DEV       =   37,
   OVEN_TEMP_RATE_DEV             =   38,
   DETA_TEMP_RATE_DEV             =   39,
   DETB_TEMP_RATE_DEV             =   40,
   INJA_TEMP_RATE_DEV             =   41,
   INJB_TEMP_RATE_DEV             =   42,
   AUXA_TEMP_RATE_DEV             =   43,
   AUXB_TEMP_RATE_DEV             =   44,
   OVEN_TEMP_OFF_DEV              =   45,
   DETA_TEMP_OFF_DEV              =   46,
   DETB_TEMP_OFF_DEV              =   47,
   INJA_TEMP_OFF_DEV              =   48,
   INJB_TEMP_OFF_DEV              =   49,
   AUXA_TEMP_OFF_DEV              =   50,
   AUXB_TEMP_OFF_DEV              =   51,
   OVEN_TEMP_ON_DEV               =   52,
   DETA_TEMP_ON_DEV               =   53,
   DETB_TEMP_ON_DEV               =   54,
   INJA_TEMP_ON_DEV               =   55,
   INJB_TEMP_ON_DEV               =   56,
   AUXA_TEMP_ON_DEV               =   57,
   AUXB_TEMP_ON_DEV               =   58,
   DETA_OVEN_TRACK_MODE_DEV       =   59,
   DETB_OVEN_TRACK_MODE_DEV       =   60,
   INJA_OVEN_TRACK_MODE_DEV       =   61,
   INJB_OVEN_TRACK_MODE_DEV       =   62,
   AUXA_OVEN_TRACK_MODE_DEV       =   63,
   AUXB_OVEN_TRACK_MODE_DEV       =   64,
   DETA_RAMPED_MODE_DEV           =   65,
   DETB_RAMPED_MODE_DEV           =   66,
   INJA_RAMPED_MODE_DEV           =   67,
   INJB_RAMPED_MODE_DEV           =   68,
   AUXA_RAMPED_MODE_DEV           =   69,
   AUXB_RAMPED_MODE_DEV           =   70,
   OVEN_MAXIMUM_DEV               =   71,
   OVEN_EQUIB_DEV                 =   72,
   CRYO_ON_DEV                    =   73,
   CRYO_OFF_DEV                   =   74,
   QUICK_CRYO_ON_DEV              =   75,
   QUICK_CRYO_OFF_DEV             =   76,
   CRYO_TIMEOUT_ON_DEV            =   77,
   CRYO_TIMEOUT_OFF_DEV           =   78,
   CRYO_TIMEOUT_DEV               =   79,
   CRYO_FAULT_ON_DEV              =   80,
   CRYO_FAULT_OFF_DEV             =   81,
   CRYO_AMBIENT_TEMP_DEV          =   82,
   OVEN_CALIB_DEV                 =   83,
   SIGNAL1_ZERO_DEV               =   84,
   SIGNAL2_ZERO_DEV               =   85,
   SIGNAL1_ZERO_OFF_DEV           =   86,
   SIGNAL2_ZERO_OFF_DEV           =   87,
   SIGNAL1_ZERO_ON_DEV            =   88,
   SIGNAL2_ZERO_ON_DEV            =   89,
   SIGNAL1_ATTN_OFF_DEV           =   90,
   SIGNAL2_ATTN_OFF_DEV           =   91,
   SIGNAL1_ATTN_ON_DEV            =   92,
   SIGNAL2_ATTN_ON_DEV            =   93,
   SIGNAL1_ATTN_DEV               =   94,
   SIGNAL2_ATTN_DEV               =   95,
   SIGNAL1_RANGE_DEV              =   96,
   SIGNAL2_RANGE_DEV              =   97,
   SIGNAL1_FAST_PEAKS_ON_DEV      =   98,
   SIGNAL2_FAST_PEAKS_ON_DEV      =   99,
   SIGNAL1_FAST_PEAKS_OFF_DEV     =  100,
   SIGNAL2_FAST_PEAKS_OFF_DEV     =  101,
   SIGNAL1_DATA_RATE_DEV          =  102,
   SIGNAL2_DATA_RATE_DEV          =  103,
   SIGNAL1_TYPE_DEV               =  104,
   SIGNAL2_TYPE_DEV               =  105,
   COL_COMP1_DET_POSITION_DEV     =  106,
   COL_COMP2_DET_POSITION_DEV     =  107,
   GS_VALVE_TYPE_DEV              =  108,
   MP_VALVE_TYPE_DEV              =  109,
   SEL_VALVE_TYPE_DEV             =  110,
   OTHER_VALVE_TYPE_DEV           =  111,
   NO_VALVE_TYPE_DEV              =  112,
   VALVE_LOOP_VOLUME_DEV          =  113,
   MULTI_VALVE_POSITION_DEV       =  114,
   MULTI_VALVE_TIME_DEV           =  115,
   INVERT_BCD_ON_DEV              =  116,
   INVERT_BCD_OFF_DEV             =  117,
   VALVE_LOAD_TIME_DEV            =  118,
   VALVE_INJECT_TIME_DEV          =  119,
   VALVE_INLET_FRONT_DEV          =  120,
   VALVE_INLET_BACK_DEV           =  121,
   VALVE_INLET_AUX_DEV            =  122,
   VALVE_INLET_NONE_DEV           =  123,
   VALVE_ON_DEV                   =  124,
   VALVE_OFF_DEV                  =  125,
   F_DET_ELECT_ON_DEV             =  126,
   B_DET_ELECT_ON_DEV             =  127,
   F_DET_ELECT_OFF_DEV            =  128,
   B_DET_ELECT_OFF_DEV            =  129,
   F_DET_FLAME_ON_DEV             =  130,
   B_DET_FLAME_ON_DEV             =  131,
   F_DET_FLAME_OFF_DEV            =  132,
   B_DET_FLAME_OFF_DEV            =  133,
   F_DET_LIT_OFFSET_DEV           =  134,
   B_DET_LIT_OFFSET_DEV           =  135,
   F_DET_FIL_ON_DEV               =  136,
   B_DET_FIL_ON_DEV               =  137,
   F_DET_FIL_OFF_DEV              =  138,
   B_DET_FIL_OFF_DEV              =  139,
   F_DET_NEG_POL_ON_DEV           =  140,
   B_DET_NEG_POL_ON_DEV           =  141,
   F_DET_NEG_POL_OFF_DEV          =  142,
   B_DET_NEG_POL_OFF_DEV          =  143,
   F_DET_BEAD_POWER_DEV           =  144,
   B_DET_BEAD_POWER_DEV           =  145,
   F_DET_BEAD_ON_DEV              =  146,
   B_DET_BEAD_ON_DEV              =  147,
   F_DET_BEAD_OFF_DEV             =  148,
   B_DET_BEAD_OFF_DEV             =  149,
   F_DET_TARGET_OFFSET_DEV        =  150,
   B_DET_TARGET_OFFSET_DEV        =  151,
   F_DET_EQUIB_TIME_DEV           =  152,
   B_DET_EQUIB_TIME_DEV           =  153,
   F_DET_REF_CURRENT_DEV          =  154,
   B_DET_REF_CURRENT_DEV          =  155,
   F_INLET_PRES_ON_DEV            =  156,
   F_INLET_PRES_OFF_DEV           =  157,
   F_INLET_FLOW_ON_DEV            =  158,
   F_INLET_FLOW_OFF_DEV           =  159,
   F_INLET_PRES_DEV               =  160,
   F_INLET_FLOW_DEV               =  161,
   F_INLET_INJECT_MODE_DEV        =  162,
   F_INLET_PURGE_TIME_DEV         =  163,
   F_INLET_PURGE_FLOW_DEV         =  164,
   F_INLET_PULSE_TIME_DEV         =  165,
   F_INLET_PULSE_PRES_DEV         =  166,
   F_INLET_SPLIT_RATIO_DEV        =  167,
   F_INLET_SPLIT_FLOW_DEV         =  168,
   F_INLET_AUTO_CAL_ON_DEV        =  169,
   F_INLET_AUTO_CAL_OFF_DEV       =  170,
   F_INLET_MISER_MODE_ON_DEV      =  171,
   F_INLET_MISER_MODE_OFF_DEV     =  172,
   F_INLET_MISER_TIME_DEV         =  173,
   F_INLET_MISER_FLOW_DEV         =  174,
   F_INLET_P_EQUIB_TIME_DEV       =  175,
   F_INLET_F_EQUIB_TIME_DEV       =  176,
   F_INLET_GAS_TYPE_DEV           =  177,
   F_INLET_TYPE_DEV               =  178,
   F_INLET_CAL_PRES_OFFSET_DEV    =  179,
   F_INLET_CAL_PRES_DEV           =  180,
   F_INLET_CAL_FLOW_OFFSET_DEV    =  181,
   F_INLET_CAL_FLOW_DEV           =  182,
   F_INLET_CAL_DELETED_DEV        =  183,
   F_INLET_CAL_ENABLED_DEV        =  184,
   F_INLET_CAL_DISABLED_DEV       =  185,
   B_INLET_PRES_ON_DEV            =  186,
   B_INLET_PRES_OFF_DEV           =  187,
   B_INLET_FLOW_ON_DEV            =  188,
   B_INLET_FLOW_OFF_DEV           =  189,
   B_INLET_PRES_DEV               =  190,
   B_INLET_FLOW_DEV               =  191,
   B_INLET_INJECT_MODE_DEV        =  192,
   B_INLET_PURGE_TIME_DEV         =  193,
   B_INLET_PURGE_FLOW_DEV         =  194,
   B_INLET_PULSE_TIME_DEV         =  195,
   B_INLET_PULSE_PRES_DEV         =  196,
   B_INLET_SPLIT_RATIO_DEV        =  197,
   B_INLET_SPLIT_FLOW_DEV         =  198,
   B_INLET_AUTO_CAL_ON_DEV        =  199,
   B_INLET_AUTO_CAL_OFF_DEV       =  200,
   B_INLET_MISER_MODE_ON_DEV      =  201,
   B_INLET_MISER_MODE_OFF_DEV     =  202,
   B_INLET_MISER_TIME_DEV         =  203,
   B_INLET_MISER_FLOW_DEV         =  204,
   B_INLET_P_EQUIB_TIME_DEV       =  205,
   B_INLET_F_EQUIB_TIME_DEV       =  206,
   B_INLET_GAS_TYPE_DEV           =  207,
   B_INLET_TYPE_DEV               =  208,
   B_INLET_CAL_PRES_OFFSET_DEV    =  209,
   B_INLET_CAL_PRES_DEV           =  210,
   B_INLET_CAL_FLOW_OFFSET_DEV    =  211,
   B_INLET_CAL_FLOW_DEV           =  212,
   B_INLET_CAL_DELETED_DEV        =  213,
   B_INLET_CAL_ENABLED_DEV        =  214,
   B_INLET_CAL_DISABLED_DEV       =  215,
   COL1_LENGTH_DEV                =  216,
   COL1_DIAM_DEV                  =  217,
   COL1_FILM_THICK_DEV            =  218,
   COL1_SOURCE_DEV                =  219,
   COL1_OUTLET_DEV                =  220,
   COL1_VACUUM_COMP_ON_DEV        =  221,
   COL1_VACUUM_COMP_OFF_DEV       =  222,
   COL1_PRES_CORRECT_ON_DEV       =  223,
   COL1_PRES_CORRECT_OFF_DEV      =  224,
   COL1_CORRECT_PRES_DEV          =  225,
   COL1_PRESSURE_DEV              =  226,
   COL1_PRES_OFF_DEV              =  227,
   COL1_PRES_ON_DEV               =  228,
   COL1_FLOW_DEV                  =  229,
   COL1_FLOW_OFF_DEV              =  230,
   COL1_FLOW_ON_DEV               =  231,
   COL1_VELOCITY_DEV              =  232,
   COL1_CONTROL_MODE_DEV          =  233,
   COL1_INIT_PRES_DEV             =  234,
   COL1_INIT_TIME_DEV             =  235,
   COL1_PRES_RATE1_DEV            =  236,
   COL1_FINAL_PRES1_DEV           =  237,
   COL1_FINAL_TIME1_DEV           =  238,
   COL1_PRES_RATE2_DEV            =  239,
   COL1_FINAL_PRES2_DEV           =  240,
   COL1_FINAL_TIME2_DEV           =  241,
   COL1_PRES_RATE3_DEV            =  242,
   COL1_FINAL_PRES3_DEV           =  243,
   COL1_FINAL_TIME3_DEV           =  244,
   COL1_INIT_FLOW_DEV             =  245,
   COL1_FLOW_RATE1_DEV            =  246,
   COL1_FINAL_FLOW1_DEV           =  247,
   COL1_FLOW_RATE2_DEV            =  248,
   COL1_FINAL_FLOW2_DEV           =  249,
   COL1_FLOW_RATE3_DEV            =  250,
   COL1_FINAL_FLOW3_DEV           =  251,
   COL1_POST_PRES_DEV             =  252,
   COL1_POST_FLOW_DEV             =  253,
   COL1_CAL_LEN_DEV               =  254,
   COL1_CAL_DIAM_DEV              =  255,
   COL1_CAL_ON_DEV                =  256,
   COL1_CAL_OFF_DEV               =  257,
   COL2_LENGTH_DEV                =  258,
   COL2_DIAM_DEV                  =  259,
   COL2_FILM_THICK_DEV            =  260,
   COL2_SOURCE_DEV                =  261,
   COL2_OUTLET_DEV                =  262,
   COL2_VACUUM_COMP_ON_DEV        =  263,
   COL2_VACUUM_COMP_OFF_DEV       =  264,
   COL2_PRES_CORRECT_ON_DEV       =  265,
   COL2_PRES_CORRECT_OFF_DEV      =  266,
   COL2_CORRECT_PRES_DEV          =  267,
   COL2_PRESSURE_DEV              =  268,
   COL2_PRES_OFF_DEV              =  269,
   COL2_PRES_ON_DEV               =  270,
   COL2_FLOW_DEV                  =  271,
   COL2_FLOW_OFF_DEV              =  272,
   COL2_FLOW_ON_DEV               =  273,
   COL2_VELOCITY_DEV              =  274,
   COL2_CONTROL_MODE_DEV          =  275,
   COL2_INIT_PRES_DEV             =  276,
   COL2_INIT_TIME_DEV             =  277,
   COL2_PRES_RATE1_DEV            =  278,
   COL2_FINAL_PRES1_DEV           =  279,
   COL2_FINAL_TIME1_DEV           =  280,
   COL2_PRES_RATE2_DEV            =  281,
   COL2_FINAL_PRES2_DEV           =  282,
   COL2_FINAL_TIME2_DEV           =  283,
   COL2_PRES_RATE3_DEV            =  284,
   COL2_FINAL_PRES3_DEV           =  285,
   COL2_FINAL_TIME3_DEV           =  286,
   COL2_INIT_FLOW_DEV             =  287,
   COL2_FLOW_RATE1_DEV            =  288,
   COL2_FINAL_FLOW1_DEV           =  289,
   COL2_FLOW_RATE2_DEV            =  290,
   COL2_FINAL_FLOW2_DEV           =  291,
   COL2_FLOW_RATE3_DEV            =  292,
   COL2_FINAL_FLOW3_DEV           =  293,
   COL2_POST_PRES_DEV             =  294,
   COL2_POST_FLOW_DEV             =  295,
   COL2_CAL_LEN_DEV               =  296,
   COL2_CAL_DIAM_DEV              =  297,
   COL2_CAL_ON_DEV                =  298,
   COL2_CAL_OFF_DEV               =  299,
   COL12_POST_PRES_DEV            =  300,
   COL12_POST_FLOW_DEV            =  301,
   F_DET_FUEL_FLOW_DEV            =  302,
   F_DET_UTIL_FLOW_DEV            =  303,
   F_DET_MUG_FLOW_DEV             =  304,
   F_DET_FUEL_ON_DEV              =  305,
   F_DET_UTIL_ON_DEV              =  306,
   F_DET_MUG_ON_DEV               =  307,
   F_DET_FUEL_OFF_DEV             =  308,
   F_DET_UTIL_OFF_DEV             =  309,
   F_DET_MUG_OFF_DEV              =  310,
   F_DET_NORMAL_MUG_MODE_DEV      =  311,
   F_DET_CONST_COL_MUG_MODE_DEV   =  312,
   F_DET_COMBO_FLOW_DEV           =  313,
   F_DET_FPD_UTIL_TYPE_DEV        =  314,
   F_DET_TCD_UTIL_TYPE_DEV        =  315,
   F_DET_ECD_UTIL_TYPE_DEV        =  316,
   F_DET_MUG_TYPE_DEV             =  317,
   F_DET_ECD_UTIL_MUG_TYPE_DEV    =  318,
   F_DET_TCD_UTIL_MUG_TYPE_DEV    =  319,
   F_DET_CALIB_DELETED_DEV        =  320,
   F_DET_FUEL_CALIB_ZERO_DEV      =  321,
   F_DET_FUEL_CALIB_FLOW_DEV      =  322,
   F_DET_UTIL_CALIB_ZERO_DEV      =  323,
   F_DET_UTIL_CALIB_FLOW_DEV      =  324,
   F_DET_MUG_CALIB_ZERO_DEV       =  325,
   F_DET_MUG_CALIB_FLOW_DEV       =  326,
   F_DET_CAL_ENABLED_DEV          =  327,
   F_DET_CAL_DISABLED_DEV         =  328,
   B_DET_FUEL_FLOW_DEV            =  329,
   B_DET_UTIL_FLOW_DEV            =  330,
   B_DET_MUG_FLOW_DEV             =  331,
   B_DET_FUEL_ON_DEV              =  332,
   B_DET_UTIL_ON_DEV              =  333,
   B_DET_MUG_ON_DEV               =  334,
   B_DET_FUEL_OFF_DEV             =  335,
   B_DET_UTIL_OFF_DEV             =  336,
   B_DET_MUG_OFF_DEV              =  337,
   B_DET_NORMAL_MUG_MODE_DEV      =  338,
   B_DET_CONST_COL_MUG_MODE_DEV   =  339,
   B_DET_COMBO_FLOW_DEV           =  340,
   B_DET_FPD_UTIL_TYPE_DEV        =  341,
   B_DET_TCD_UTIL_TYPE_DEV        =  342,
   B_DET_ECD_UTIL_TYPE_DEV        =  343,
   B_DET_MUG_TYPE_DEV             =  344,
   B_DET_ECD_UTIL_MUG_TYPE_DEV    =  345,
   B_DET_TCD_UTIL_MUG_TYPE_DEV    =  346,
   B_DET_CALIB_DELETED_DEV        =  347,
   B_DET_FUEL_CALIB_ZERO_DEV      =  348,
   B_DET_FUEL_CALIB_FLOW_DEV      =  349,
   B_DET_UTIL_CALIB_ZERO_DEV      =  350,
   B_DET_UTIL_CALIB_FLOW_DEV      =  351,
   B_DET_MUG_CALIB_ZERO_DEV       =  352,
   B_DET_MUG_CALIB_FLOW_DEV       =  353,
   B_DET_CAL_ENABLED_DEV          =  354,
   B_DET_CAL_DISABLED_DEV         =  355,
   AUX3_PRES_DEV                  =  356,
   AUX3_STATE_ON_DEV              =  357,
   AUX3_STATE_OFF_DEV             =  358,
   AUX3_GAS_HE_DEV                =  359,
   AUX3_GAS_H2_DEV                =  360,
   AUX3_GAS_N2_DEV                =  361,
   AUX3_GAS_ARME_DEV              =  362,
   AUX3_GAS_AIR_DEV               =  363,
   AUX3_PRES_EQUIB_TIME_DEV       =  364,
   AUX3_CAL_PRES_ZERO_DEV         =  365,
   AUX3_CAL_PRES_DEV              =  366,
   AUX3_INIT_PRES_DEV             =  367,
   AUX3_INIT_TIME_DEV             =  368,
   AUX3_PRES_RATE1_DEV            =  369,
   AUX3_FINAL_PRES1_DEV           =  370,
   AUX3_FINAL_TIME1_DEV           =  371,
   AUX3_PRES_RATE2_DEV            =  372,
   AUX3_FINAL_PRES2_DEV           =  373,
   AUX3_FINAL_TIME2_DEV           =  374,
   AUX3_PRES_RATE3_DEV            =  375,
   AUX3_FINAL_PRES3_DEV           =  376,
   AUX3_FINAL_TIME3_DEV           =  377,
   AUX4_PRES_DEV                  =  378,
   AUX4_STATE_ON_DEV              =  379,
   AUX4_STATE_OFF_DEV             =  380,
   AUX4_GAS_HE_DEV                =  381,
   AUX4_GAS_H2_DEV                =  382,
   AUX4_GAS_N2_DEV                =  383,
   AUX4_GAS_ARME_DEV              =  384,
   AUX4_GAS_AIR_DEV               =  385,
   AUX4_PRES_EQUIB_TIME_DEV       =  386,
   AUX4_CAL_PRES_ZERO_DEV         =  387,
   AUX4_CAL_PRES_DEV              =  388,
   AUX4_INIT_PRES_DEV             =  389,
   AUX4_INIT_TIME_DEV             =  390,
   AUX4_PRES_RATE1_DEV            =  391,
   AUX4_FINAL_PRES1_DEV           =  392,
   AUX4_FINAL_TIME1_DEV           =  393,
   AUX4_PRES_RATE2_DEV            =  394,
   AUX4_FINAL_PRES2_DEV           =  395,
   AUX4_FINAL_TIME2_DEV           =  396,
   AUX4_PRES_RATE3_DEV            =  397,
   AUX4_FINAL_PRES3_DEV           =  398,
   AUX4_FINAL_TIME3_DEV           =  399,
   AUX5_PRES_DEV                  =  400,
   AUX5_STATE_ON_DEV              =  401,
   AUX5_STATE_OFF_DEV             =  402,
   AUX5_GAS_HE_DEV                =  403,
   AUX5_GAS_H2_DEV                =  404,
   AUX5_GAS_N2_DEV                =  405,
   AUX5_GAS_ARME_DEV              =  406,
   AUX5_GAS_AIR_DEV               =  407,
   AUX5_PRES_EQUIB_TIME_DEV       =  408,
   AUX5_CAL_PRES_ZERO_DEV         =  409,
   AUX5_CAL_PRES_DEV              =  410,
   AUX5_INIT_PRES_DEV             =  411,
   AUX5_INIT_TIME_DEV             =  412,
   AUX5_PRES_RATE1_DEV            =  413,
   AUX5_FINAL_PRES1_DEV           =  414,
   AUX5_FINAL_TIME1_DEV           =  415,
   AUX5_PRES_RATE2_DEV            =  416,
   AUX5_FINAL_PRES2_DEV           =  417,
   AUX5_FINAL_TIME2_DEV           =  418,
   AUX5_PRES_RATE3_DEV            =  419,
   AUX5_FINAL_PRES3_DEV           =  420,
   AUX5_FINAL_TIME3_DEV           =  421,
   AUX_CAL_DELETED_DEV            =  422,
   AUX_CAL_ENABLED_DEV            =  423,
   AUX_CAL_DISABLED_DEV           =  424,
   RTT_ENTRY_DELETED_DEV          =  425,
   RTT_ENTRY_TIME_DEV             =  426,
   RTT_VALVE_TYPE_DEV             =  427,
   RTT_MULTI_VALVE_TYPE_DEV       =  428,
   RTT_SIGNAL_DEF_DEV             =  429,
   RTT_SIGNAL_ZERO_DEV            =  430,
   RTT_SIGNAL_ATTN_DEV            =  431,
   RTT_SIGNAL_RANGE_DEV           =  432,
   RTT_AUX_TYPE_DEV               =  433,
   RTT_F_DET_POLARITY_DEV         =  434,
   RTT_B_DET_POLARITY_DEV         =  435,
   RTT_F_DET_FUEL_ON_OFF_DEV      =  436,
   RTT_B_DET_FUEL_ON_OFF_DEV      =  437,
   RTT_SETPT_ON_DEV               =  438,
   RTT_SETPT_OFF_DEV              =  439,
   RTT_DETA_SIGNAL_DEV            =  440,
   RTT_DETB_SIGNAL_DEV            =  441,
   RTT_DETA_B_SIGNAL_DEV          =  442,
   RTT_DETB_A_SIGNAL_DEV          =  443,
   RTT_F_CCOMP1_SIGNAL_DEV        =  444,
   RTT_B_CCOMP1_SIGNAL_DEV        =  445,
   RTT_F_CCOMP2_SIGNAL_DEV        =  446,
   RTT_B_CCOMP2_SIGNAL_DEV        =  447,
   RTT_TEST_PLOT_SIGNAL_DEV       =  448,
   RTT_SETPT_INTEGER_DEV          =  449,
   RTT_SETPT_TENTHS_DEV           =  450,
   RTT_SETPT_PSI_DEV              =  451,
   RTT_SETPT_KPA_DEV              =  452,
   RTT_SETPT_BAR_DEV              =  453,

     /*  Not_Ready_Core */

   INJA_THERMAL_DEV               =  454,
   INJB_THERMAL_DEV               =  455,
   DETA_THERMAL_DEV               =  456,
   DETB_THERMAL_DEV               =  457,
   AUX1_THERMAL_DEV               =  458,
   AUX2_THERMAL_DEV               =  459,
   FRNT_INLET_PRESSURE_DEV        =  460,
   FRNT_INLET_FLOW_DEV            =  461,
   BACK_INLET_PRESSURE_DEV        =  462,
   BACK_INLET_FLOW_DEV            =  463,
   FRNT_DET_GAS_1_FLOW_DEV        =  464,
   FRNT_DET_GAS_2_FLOW_DEV        =  465,
   FRNT_DET_GAS_3_FLOW_DEV        =  466,
   BACK_DET_GAS_1_FLOW_DEV        =  467,
   BACK_DET_GAS_2_FLOW_DEV        =  468,
   BACK_DET_GAS_3_FLOW_DEV        =  469,
   FRNT_DET_GAS_1_OFF_DEV         =  470,
   FRNT_DET_GAS_2_OFF_DEV         =  471,
   FRNT_DET_GAS_3_OFF_DEV         =  472,
   BACK_DET_GAS_1_OFF_DEV         =  473,
   BACK_DET_GAS_2_OFF_DEV         =  474,
   BACK_DET_GAS_3_OFF_DEV         =  475,
   AUX_3_PRES_DEV                 =  476,
   AUX_4_PRES_DEV                 =  477,
   AUX_5_PRES_DEV                 =  478,

     /*  Not_Ready_Det */

   FRNT_DET_LOW_TEMP_DEV          =  479,
   BACK_DET_LOW_TEMP_DEV          =  480,
   FRNT_DET_IGNITING_DEV          =  481,
   BACK_DET_IGNITING_DEV          =  482,
   FRNT_DET_ADJUSTING_DEV         =  483,
   BACK_DET_ADJUSTING_DEV         =  484,
   FRNT_DET_EQUIB_DEV             =  485,
   BACK_DET_EQUIB_DEV             =  486,
   FRNT_DET_SHUTDOWN_DEV          =  487,
   BACK_DET_SHUTDOWN_DEV          =  488,

     /*  Not_Ready */

   DIAGNOSTICS_MODE_DEV           =  489,
   PNEU_24_VOLTS_DEV              =  490,
   OVEN_THERMAL_DEV               =  491,
   MISER_MODE_DEV                 =  492,
   FRNT_INLET_PURGING_DEV         =  493,
   BACK_INLET_PURGING_DEV         =  494,
   MULTIPOS_VALVE_DEV             =  495,
   SAMPLING_VALVE_1_DEV           =  496,
   SAMPLING_VALVE_2_DEV           =  497,
   TEST_IN_PROGRESS_DEV           =  498,

     /*  Not_Ready_Ext */

   HOST_DEV                       =  499,
   EXTERNAL_DEVICE_DEV            =  500,
   POWER_FAIL_RECOVERY_DEV        =  501,

     /*  Non_Fatal_Err */

   PNEU_FPGA_FAULT_DEV            =  502,
   DEAD_PCB_DEV                   =  503,
   HYDROGEN_SHUTDOWN_DEV          =  504,
   SIG_DSP_FAULT_DEV              =  505,
   SIG_DSP_ROM_ERR_DEV            =  506,
   SIG_DSP_RAM_ERR_DEV            =  507,
   SIG_DSP_REG_ERR_DEV            =  508,
   INVALID_SIG_COUNT_DEV          =  509,
   ATTN1_TEST_FAILED_DEV          =  510,
   ATTN2_TEST_FAILED_DEV          =  511,
   DAC1_TEST_FAILED_DEV           =  512,
   DAC2_TEST_FAILED_DEV           =  513,
   FRNT_DET_OFFSET_INVALID_DEV    =  514,
   BACK_DET_OFFSET_INVALID_DEV    =  515,
   FRNT_FLAME_FAILURE_DEV         =  516,
   BACK_FLAME_FAILURE_DEV         =  517,
   FRNT_TCD_OPEN_FILAMENT_DEV     =  518,
   BACK_TCD_OPEN_FILAMENT_DEV     =  519,
   FRNT_TCD_SHORT_FILAMENT_DEV    =  520,
   BACK_TCD_SHORT_FILAMENT_DEV    =  521,
   SMALL_ZONE_OVER_CURRENT_DEV    =  522,
   THERMAL_FAULT_DEV              =  523,
   OVEN_TOO_HOT_DEV               =  524,
   OVEN_TOO_COOL_DEV              =  525,
   OVEN_SENSOR_SHORT_DEV          =  526,
   DETA_TOO_HOT_DEV               =  527,
   DETA_SENSOR_SHORT_DEV          =  528,
   DETB_TOO_HOT_DEV               =  529,
   DETB_SENSOR_SHORT_DEV          =  530,
   INJA_TOO_HOT_DEV               =  531,
   INJA_SENSOR_SHORT_DEV          =  532,
   INJB_TOO_HOT_DEV               =  533,
   INJB_SENSOR_SHORT_DEV          =  534,
   AUXA_TOO_HOT_DEV               =  535,
   AUXA_SENSOR_SHORT_DEV          =  536,
   AUXB_TOO_HOT_DEV               =  537,
   AUXB_SENSOR_SHORT_DEV          =  538,
   MISSING_LINE_FREQ_INTS_DEV     =  539,
   FALSE_LINE_FREQ_INTS_DEV       =  540,
   MUX_NOT_RESPONDING_DEV         =  541,
   INVALID_MUX_ADC_OFFSET_DEV     =  542,
   INVALID_LINE_SENSE_RDG_DEV     =  543,
   AUX_3_BROKEN_DEV               =  544,
   AUX_4_BROKEN_DEV               =  545,
   AUX_5_BROKEN_DEV               =  546,
   FD_BAD_EEPROM_REV_DEV          =  547,
   BD_BAD_EEPROM_REV_DEV          =  548,
   FI_BAD_EEPROM_REV_DEV          =  549,
   BI_BAD_EEPROM_REV_DEV          =  550,
   AX_BAD_EEPROM_REV_DEV          =  551,
   FD_BAD_MODULE_DEV              =  552,
   BD_BAD_MODULE_DEV              =  553,
   FI_BAD_MODULE_DEV              =  554,
   BI_BAD_MODULE_DEV              =  555,
   AX_BAD_MODULE_DEV              =  556,
   FD_UNSUPPORTED_TYPE_DEV        =  557,
   BD_UNSUPPORTED_TYPE_DEV        =  558,
   FI_UNSUPPORTED_TYPE_DEV        =  559,
   BI_UNSUPPORTED_TYPE_DEV        =  560,
   FD_PNEU_ELEC_MISMATCH_DEV      =  561,
   BD_PNEU_ELEC_MISMATCH_DEV      =  562,
   MIO_BD_DEFECTIVE_DEV           =  563,
   RS232_DEFECTIVE_DEV            =  564,
   HPIB_DEFECTIVE_DEV             =  565,
   SAMP_RS232_DEFECTIVE_DEV       =  566,
   FI_BAD_PID_DEV                 =  567,
   BI_BAD_PID_DEV                 =  568,
   FD_BAD_PID_DEV                 =  569,
   BD_BAD_PID_DEV                 =  570,
   PA_BAD_PID_DEV                 =  571,
   FI_BAD_CKSUM_DEV               =  572,
   BI_BAD_CKSUM_DEV               =  573,
   FD_BAD_CKSUM_DEV               =  574,
   BD_BAD_CKSUM_DEV               =  575,
   PA_BAD_CKSUM_DEV               =  576,
   FI_BAD_CONSTS_DEV              =  577,
   BI_BAD_CONSTS_DEV              =  578,
   FD_BAD_CONSTS_DEV              =  579,
   BD_BAD_CONSTS_DEV              =  580,
   PA_BAD_CONSTS_DEV              =  581,
   FI_IO_FAILURE_DEV              =  582,
   BI_IO_FAILURE_DEV              =  583,
   FD_IO_FAILURE_DEV              =  584,
   BD_IO_FAILURE_DEV              =  585,
   PA_IO_FAILURE_DEV              =  586,
   FRNT_DET_ADJUST_FAIL_DEV       =  587,
   BACK_DET_ADJUST_FAIL_DEV       =  588,

     /*  Shutdown */

   OVEN_SCRAM_ACTIVE_DEV          =  589,
   CRYO_SCRAM_ACTIVE_DEV          =  590,
   FRNT_INLET_PRES_SHUTDOWN_DEV   =  591,
   FRNT_INLET_FLOW_SHUTDOWN_DEV   =  592,
   BACK_INLET_PRES_SHUTDOWN_DEV   =  593,
   BACK_INLET_FLOW_SHUTDOWN_DEV   =  594,
   FRNT_DET_GAS_1_SHUTDOWN_DEV    =  595,
   FRNT_DET_GAS_2_SHUTDOWN_DEV    =  596,
   FRNT_DET_GAS_3_SHUTDOWN_DEV    =  597,
   BACK_DET_GAS_1_SHUTDOWN_DEV    =  598,
   BACK_DET_GAS_2_SHUTDOWN_DEV    =  599,
   BACK_DET_GAS_3_SHUTDOWN_DEV    =  600,
   PNEU_AUX_3_SHUTDOWN_DEV        =  601,
   PNEU_AUX_4_SHUTDOWN_DEV        =  602,
   PNEU_AUX_5_SHUTDOWN_DEV        =  603,
   MULTI_VALVE_NOT_SWITCHING_DEV  =  604,
   MULTI_VALVE_ILLEGAL_POS_DEV    =  605,

     /*  Warning */

   OVEN_NOT_INSTALLED_DEV         =  606,
   OVER_WATTAGE_A_DEV             =  607,
   OVER_WATTAGE_B_DEV             =  608,
   SIGBUF1_OVERFLOW_DEV           =  609,
   SIGBUF2_OVERFLOW_DEV           =  610,
   ANALOG_DATA_LOST_DEV           =  611,
   SIGNAL_DATA_LOST_DEV           =  612,
   FD_CONFIG_CHANGED_DEV          =  613,
   BD_CONFIG_CHANGED_DEV          =  614,
   FI_CONFIG_CHANGED_DEV          =  615,
   BI_CONFIG_CHANGED_DEV          =  616,
   C1_CONFIG_CHANGED_DEV          =  617,
   C2_CONFIG_CHANGED_DEV          =  618,
   AUX_3_CHANGED_DEV              =  619,
   AUX_4_CHANGED_DEV              =  620,
   AUX_5_CHANGED_DEV              =  621,
   GLP_OVERFLOW_DEV               =  622,
   FI_CALIB_LOST_DEV              =  623,
   BI_CALIB_LOST_DEV              =  624,
   FD_CALIB_LOST_DEV              =  625,
   BD_CALIB_LOST_DEV              =  626,
   PA_CALIB_LOST_DEV              =  627,
   HOST_DATA_OVERRUN_DEV          =  628,
   HOST_DATA_ERROR_DEV            =  629,
   HOST_ABNORMAL_BREAK_DEV        =  630,
   SAMP_DATA_OVERRUN_DEV          =  631,
   SAMP_DATA_ERROR_DEV            =  632,
   SAMP_ABNORMAL_BREAK_DEV        =  633,
   FI_FS_AUTO_CAL_FAILED_DEV      =  634,
   BI_FS_AUTO_CAL_FAILED_DEV      =  635,

     /*  Method_Warning */

   CRC_MISMATCH_DEV               =  636,
   ALS_POWER_SUPPLY_DEV           =  637,
   ALS_FRONT_TOWER_DEV            =  638,
   ALS_BACK_TOWER_DEV             =  639,
   ALS_TRAY_DEV                   =  640,
   DIRTBALL_DEV                   =  641,
   FRNT_INLET_TYPE_DEV            =  642,
   FRNT_INLET_RANGE_DEV           =  643,
   FRNT_INLET_EPC_DEV             =  644,
   FRNT_INLET_GAS_TYPE_DEV        =  645,
   FRNT_INLET_PRES_EQUIB_DEV      =  646,
   FRNT_INLET_FLOW_EQUIB_DEV      =  647,
   BACK_INLET_TYPE_DEV            =  648,
   BACK_INLET_RANGE_DEV           =  649,
   BACK_INLET_EPC_DEV             =  650,
   BACK_INLET_GAS_TYPE_DEV        =  651,
   BACK_INLET_PRES_EQUIB_DEV      =  652,
   BACK_INLET_FLOW_EQUIB_DEV      =  653,
   FRNT_DET_TYPE_MISMATCH_DEV     =  654,
   FRNT_DET_EPC_DEV               =  655,
   FRNT_DET_FUEL_RANGE_DEV        =  656,
   FRNT_DET_UTIL_RANGE_DEV        =  657,
   FRNT_DET_MUG_RANGE_DEV         =  658,
   FRNT_DET_UTIL_GAS_TYPE_DEV     =  659,
   FRNT_DET_MUG_GAS_TYPE_DEV      =  660,
   BACK_DET_TYPE_MISMATCH_DEV     =  661,
   BACK_DET_EPC_DEV               =  662,
   BACK_DET_FUEL_RANGE_DEV        =  663,
   BACK_DET_UTIL_RANGE_DEV        =  664,
   BACK_DET_MUG_RANGE_DEV         =  665,
   BACK_DET_UTIL_GAS_TYPE_DEV     =  666,
   BACK_DET_MUG_GAS_TYPE_DEV      =  667,
   AUX_3_TYPE_DEV                 =  668,
   AUX_3_RANGE_DEV                =  669,
   AUX_3_GAS_TYPE_DEV             =  670,
   AUX_3_PRES_EQUIB_DEV           =  671,
   AUX_4_TYPE_DEV                 =  672,
   AUX_4_RANGE_DEV                =  673,
   AUX_4_GAS_TYPE_DEV             =  674,
   AUX_4_PRES_EQUIB_DEV           =  675,
   AUX_5_TYPE_DEV                 =  676,
   AUX_5_RANGE_DEV                =  677,
   AUX_5_GAS_TYPE_DEV             =  678,
   AUX_5_PRES_EQUIB_DEV           =  679,
   COLUMN1_LENGTH_DEV             =  680,
   COLUMN1_DIAM_DEV               =  681,
   COLUMN1_FILM_THICK_DEV         =  682,
   COLUMN1_SOURCE_DEV             =  683,
   COLUMN1_OUTLET_DEV             =  684,
   COLUMN1_VACUUM_COMP_DEV        =  685,
   COLUMN1_OUTLET_PRES_COMP_DEV   =  686,
   COLUMN1_PRES_COMP_SETPT_DEV    =  687,
   COLUMN2_LENGTH_DEV             =  688,
   COLUMN2_DIAM_DEV               =  689,
   COLUMN2_FILM_THICK_DEV         =  690,
   COLUMN2_SOURCE_DEV             =  691,
   COLUMN2_OUTLET_DEV             =  692,
   COLUMN2_VACUUM_COMP_DEV        =  693,
   COLUMN2_OUTLET_PRES_COMP_DEV   =  694,
   COLUMN2_PRES_COMP_SETPT_DEV    =  695,
   VALVE_1_MISMATCH_DEV           =  696,
   VALVE_2_MISMATCH_DEV           =  697,
   VALVE_3_MISMATCH_DEV           =  698,
   VALVE_4_MISMATCH_DEV           =  699,
   VALVE_5_MISMATCH_DEV           =  700,
   VALVE_6_MISMATCH_DEV           =  701,
   VALVE_7_MISMATCH_DEV           =  702,
   VALVE_8_MISMATCH_DEV           =  703,
   CRYO_MISMATCH_DEV              =  704,
   AUX_1_MISMATCH_DEV             =  705,
   AUX_2_MISMATCH_DEV             =  706,
   OVEN_MAX_MISMATCH_DEV          =  707,



STATUS:
   Complete


=========================================================================
GCssSP          Stop Run                                           GCssSP
-------------------------------------------------------------------------
FUNCTION:
   The stop command has the same effect as pressing the STOP key on the
   GC keyboard.

   Stop Run Command Behavior:
        Current State  |  State After Stop Run Command
        ----------------------------------------------------------
          Pre Run      |    Idle
          Idle         |    Idle
          Run          |    Post Run if configured; Idle otherwise
          Post Run     |    Idle

   Note, the stop command may also be used to abort a sequence.

PART OF WORKFILE:  No

HOST ISSUES:
 GCssSP

GC RETURNS:
 GCssSP <OK>
      <OK> = 0

STATUS:
   Complete


=========================================================================
GCssSR          Start Request                                      GCssSR
-------------------------------------------------------------------------
FUNCTION:
   The start request command has the effect of activating the APG Remote
   line called "Start Request".  This command has no effect on the GC's
   run state machine and the GC does not determine if a start request makes
   sense in the GC's current run state.


PART OF WORKFILE:  No

HOST ISSUES:
 GCssSR

GC RETURNS:
 GCssSR <OK>
      <OK> = 0

STATUS:
   Complete


=========================================================================
GCssPR          Prep Run                                           GCssPR
-------------------------------------------------------------------------
FUNCTION:
   This command is used to put the GC in PREP RUN State.  If the GC is in
   IDLE or POST RUN state it will go to the PRE RUN state.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssPR
GC RETURNS:
   ssGCPR <error_code>

      <error_code>
         0 - OK
         13 - NOT ALLOWED   (not in IDLE or POST RUN state)

COMMENTS:
   Normal MODE:
      Once the GC is put into PRE RUN state, it may return to IDLE
      state (return to gas to miser mode) by sending GCssSP.
   INET MODE:
      Once the GC is put into PRE RUN state, it may return to IDLE
      state (return to gas to miser mode) by sending GCssRN 0.

STATUS:
   Complete


=========================================================================
GCssPO          Post Run Setpoints                                 GCssPO
-------------------------------------------------------------------------
FUNCTION:
   This command configures the post run parameters.

PART OF WORKFILE:  Yes

HOST ISSUES:
   GCssPO <post_time>,<post_oven_temp>

      <post_time> - time in POST RUN
      <post_oven_temp> - oven temperature during POST RUN

NOTE:  column post run values are retrieved and saved via the CxNR command

GC RETURNS:
   no response

HOST ISSUES:
 GCssPO ?

GC RETURNS:
   returns current settings

COMMENTS:  Setting a non-zero post time setpoint will cause the post value
           setpoints for the oven and columns to be set to their initial
           value setpoints if the post time setpoint had been zero.

STATUS:
   Complete


=========================================================================
GCssTM          Set and Retrieve Time and Date                     GCssTM
-------------------------------------------------------------------------
FUNCTION:
    This command is used to set the GC's Time and Date.

PART OF WORKFILE:  No

HOST ISSUES:
 GCssTM  <time>,<date>
        <time> = HHMMSS   ; Hours Minutes Seconds
        <date> = DDMMYY   ; Day Month Year

GC RETURNS:
   No response.

HOST ISSUES:
 GCssTM ?

GC RETURNS:
   Current settings

COMMENT:
   Reading the time and date will always return 6 digits.  The required
   leading zeros will be added.  When setting, the leading zeros are
   optional for HH and DD.
STATUS:
   Complete


=========================================================================
GCssRI          Run State and Time Information                     GCssRI
-------------------------------------------------------------------------
FUNCTION:
    This command returns the current run state and information about run
    time.

PART OF WORKFILE:  No

HOST ISSUES:
 GCssRI

GC RETURNS:
 GCssRI <run_state>, <blank_run>, <column_comp_in_progress>,
            <internal_sequence_active>, <run_time_remaining>,
            <post_time_remaining>, <elapsed_time>,<last_run_time>,
            <next_run_time>

      <run_state>  current run state
             0 = RUN IDLE
             1 = PRE RUN
             2 = RUN ACTIVE
             3 = POST RUN

      <blank_run> = [0|1]
              0 = no blank run in progress
              1 = blank run is in progress
      <column_comp_in_progress> = [0|1]
          column compensation is active on column 1 or 2.
              0 = not acquiring column compensation data
              1 = acquiring column compensation data
      <internal_sequence_active> = [0|1]
          GC is currently controlling a sequence. Note, this is different
          than a host controlled sequence.
              0 = GC is not running a sequence
              1 = GC is running a sequence
      <run_time_remaining> = time remaining for current run
                (next_run - elapsed_run_time.) Gives next run time
                when not in run.
      <post_time_remaining> = time remaining for post run
               (post_time - elapsed_post_time.) Gives total time
               of post run when not in post run.
      <elapsed_time> =  elapsed time of current run or post run
                 <run_state> |  <elapsed_time> returns
                -------------|------------------------
                 RUN IDLE    |  0
                 PRE RUN     |  0
                 RUN ACTIVE  |  elapsed time of RUN
                 POST RUN    |  elapsed time of POST RUN
      <last_run_time> = duration of the last run
      <next_run_time> = duration of the next run
                       (equals total current run during a run)


COMMENT:
   Time values are returned in minutes (XXX.XX minutes.)

STATUS:
   Complete


=========================================================================
GCssRT          Add Run Table Entry                                GCssRT
-------------------------------------------------------------------------
FUNCTION:
   Adds an entry to the run table.

PART OF WORKFILE:  Yes

HOST ISSUES:
   GCssRT <run_time>,<run_time_event_number>,<parameter>

      <run_time>: minutes with resolution of hundredths of a minute

      <run_time_event_number>:

   <run_time_event_number>                <parameter> units
   --------------------------             -----------------
   NULL_EVENT             = 0,            flag for no event for an entry number
   VALVE_1                = 1,            <on/off> [1|0]
   VALVE_2                = 2,            <on/off> [1|0]
   VALVE_3                = 3,            <on/off> [1|0]
   VALVE_4                = 4,            <on/off> [1|0]
   VALVE_5                = 5,            <on/off> [1|0]
   VALVE_6                = 6,            <on/off> [1|0]
   VALVE_7                = 7,            <on/off> [1|0]
   VALVE_8                = 8,            <on/off> [1|0]
   MULTI_VALVE            = 9,            [1-32]
   SIGNAL_1_DEF           = 10,           <signal_type>
   SIGNAL_2_DEF           = 11,           <signal_type>
   SIGNAL_1_ZERO          = 12,           <signal_zero>
   SIGNAL_2_ZERO          = 13,           <signal_zero>
   SIGNAL_1_ATTN          = 14,           [0-10]
   SIGNAL_2_ATTN          = 15,           [0-10]
   SIGNAL_1_RANGE         = 16,           [0-13]
   SIGNAL_2_RANGE         = 17,           [0-13]
   AUX_3_PRESSURE         = 18,           pressure units
   AUX_4_PRESSURE         = 19,           pressure units
   AUX_5_PRESSURE         = 20,           pressure units
   FRNT_DET_POLARITY      = 21,           <on/off> [1|0]
   BACK_DET_POLARITY      = 22,           <on/off> [1|0]
   FRNT_DET_FUEL_GAS      = 23,           <on/off> [1|0]
   BACK_DET_FUEL_GAS      = 24,           <on/off> [1|0]
   AUX_1_TEMP             = 25,           <temperature>
   AUX_2_TEMP             = 26,           <temperature>
   FRONT_OIM1             = 27,           <not specified>
   FRONT_OIM2             = 28,           <not specified>
   FRONT_OIM3             = 29,           <not specified>
   FRONT_OIM4             = 30,           <not specified>
   BACK_OIM1              = 31,           <not specified>
   BACK_OIM2              = 32,           <not specified>
   BACK_OIM3              = 33,           <not specified>
   BACK_OIM4              = 34,           <not specified>
   STORE_SIGNAL_1_VALUE   = 35,
   STORE_SIGNAL_2_VALUE   = 36,
   SIGNAL_1_ZERO_LESS_VAL = 37,
   SIGNAL_2_ZERO_LESS_VAL = 38,
   FREEZE_SIGNAL_1_VALUE  = 39,
   FREEZE_SIGNAL_2_VALUE  = 40,
   RESUME_SIGNAL_1_VALUE  = 41,
   RESUME_SIGNAL_2_VALUE  = 42,

      <signal_type>: any valid signal type will be accepted, except for
                     memory location.  Enter the signal number only.  For
                     example to set the signal to front detector use 0.
                     See command S1ssCS for complete list of signals.
      <signal_zero>: any valid signal zero in display units with
                      120,000,001 = zero on
                     -120,000,001 = zero off

      <temperature>: any valid temperature setpoint in units of degree C with
                      -1000 = OFF
                     NOTE: setting a valid temperature turns the heated zone ON
                           for the remainder of the run.  At the end of the run
                           it will revert to its workfile on/off setpoint.

   <FRNT_DET_POLARITY>,
   <BACK_DET_POLARITY>:  detector negative polarity on/off, only applicable
                         to the TCD

   <FRNT_DET_FUEL_GAS>,
   <BACK_DET_FUEL_GAS>:  detector fuel gas flow on/off, only applicable to the
                         NPD

   <FRONT_OIMx>,
   <BACK_OIMx>:   if an OIM control board is installed in the detector slot
                  this may be used to set the control value to OFF, ON or an
                  appropriate value.
                      ON  = -1
                      OFF = -2

   <STORE_SIGNAL_1_VALUE>
   <STORE_SIGNAL_2_VALUE>:  store the present value for this signal.  This value
                   is then used to calculate a new signal zero runtime
                   setpoint when the corresponding <SIGNAL_x_ZERO_LESS_VAL>
                   runtime is executed.

   <SIGNAL_1_ZERO_LESS_VAL>
   <SIGNAL_2_ZERO_LESS_VAL>:  apply a zero to the signal where the zero is
                   calculated as follows:

                   zero = <signal value> - <stored signal value>

                   where:
                      <signal value> - present signal value
                      <stored signal value> - value stored when the last
                        <STORE_SIGNAL_x_VALUE> runtime command was executed

                   NOTE: if no <STORE_SIGNAL_x_VALUE> has been executed during
                         the run the <stored signal value> will be zero.

   <FREEZE_SIGNAL_1_VALUE>
   <FREEZE_SIGNAL_2_VALUE>: hold the present signal value ( i.e. "freeze" it ) until the
                   RESUME_SIGNAL_x_VALUE event occurs .  All real signal data between the
                   "freeze" and "resume" times will be ignored and the "held" value will
                   be used instead. The time axis will be preserved .

   <RESUME_SIGNAL_1_VALUE>
   <RESUME_SIGNAL_1_VALUE>: Resume normal processing of SIGNAL_x, but, at the point of
                   resumption calculate, save and apply a new zero value for SIGNAL_x so
                   that there is no discontinuity in the signal as SIGNAL_x is resumed.

GC RETURNS:
   no response

COMMENTS:  Maximum number of run time events is 25.

STATUS:
   Complete


=========================================================================
GCssRD                    Run Table Delete                         GCssRD
-------------------------------------------------------------------------
FUNCTION:
   Deletes one entry or all entries in the run table.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssRD

GC RETURNS:
   no response

HOST ISSUES:
   GCssRD 0

GC RETURNS:
   no response

HOST ISSUES:
   GCssRD <entry>

     <entry> = run table entry number 1..25.

GC RETURNS:
   no response

COMMENTS:
   The first two forms of the command (either omitting the parameter or
   else specifying entry zero) both delete the entire run table. The
   third form deletes only the specified entry from the table.

   Sending "GCssRD ?" to the 6850 will perform no action but will return
   "GCssRD 0".  This response is used internally by the 6850 to create a
   method.

=========================================================================
GCssRR            Run Table Read                                   GCssRR
-------------------------------------------------------------------------
FUNCTION:
   Reads the entire run table.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssRR

GC RETURNS:

   ssGCRR {run_table_entry_list}

   {run_table_entry_list} = <run_time1>,<run_time_event1>,<parameter1>;
                            <run_time2>,<run_time_event2>,<parameter2>;
                                              .
                                              .
                                              .
                            <run_time25>,<run_time_event25>,<parameter25>;
COMMENTS:

STATUS:
   Complete


=========================================================================
GCssCT          Add or Read Clock Table Entry                      GCssCT
-------------------------------------------------------------------------
FUNCTION:
   Creates an entry in the clock table.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssCT <clock_time>,<clock_time_event_number>,<parameter>

      <clock_time> = HHMM   ; Hours Minutes

   <clock_time_event_number>              <parameter> units
   -------------------------              ------------------
   NULL_EVENT        = 0,                 flag for no event for an entry number
   VALVE_1           = 1,                 <on/off> [1|0]
   VALVE_2           = 2,                 <on/off> [1|0]
   VALVE_3           = 3,                 <on/off> [1|0]
   VALVE_4           = 4,                 <on/off> [1|0]
   VALVE_5           = 5,                 <on/off> [1|0]
   VALVE_6           = 6,                 <on/off> [1|0]
   VALVE_7           = 7,                 <on/off> [1|0]
   VALVE_8           = 8,                 <on/off> [1|0]
   MULTI_VALVE       = 9,                 [1-32]
   BLANK_RUN         = 10,                [0]
   START_SEQ         = 11,                [0]
   PREP_RUN          = 12,                [0]
   COL_COMP1         = 13,                [0]
   COL_COMP2         = 14,                [0]
   COL_COMP_BOTH     = 15,                [0]
   LOAD_METHOD       = 16,                [1-5]
   LOAD_SEQ          = 17,                [1-5]
   DET_OFFSET        = 18                 <front/back> [0|1]

   VALVE_1-VALVE_8:  Set the valve [1-8] on or off.
   MULTI_VALVE:      Set the multiposition valve in position [1-32].
   BLANK_RUN:        Execute a blank run.
   START_SEQ:        Execute a sequence
   PREP_RUN:         Put the instrument in the pre-run state, preparing the instrument
                     for injection (necessary to exit gas-saver mode for example).
   COL_COMP1:        Collect a column compensation profile from the front detector.
   COL_COMP2:        Collect a column compensation profile from the back detector.
   COL_COMP_BOTH:    Collect a column compensation profile from both the front and the
                     back detector.
   LOAD_METHOD:      Load a method.
   LOAD_SEQ:         Load a sequence.
   DET_OFFSET:       Execute detector offset measurement, only applicable to the ECD or NPD.

GC RETURNS:
   no response

COMMENTS:  Maximum number of clock time events is 25.

STATUS:
   Complete


=========================================================================
GCssCD          Clock Table Delete                                 GCssCD
-------------------------------------------------------------------------
FUNCTION:
   Deletes all entries  or a single entry in the clock table.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssCD <entry>
     <entry> = 0, (or omitted) - delete entire clock table
     <entry> = 1..25 - delete just this entry

GC RETURNS:
   no response

=========================================================================
GCssCR          Clock Table Read                                   GCssCR
-------------------------------------------------------------------------
FUNCTION:
   Reads the entire clock table.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssCR

GC RETURNS:
   ssGCCR {clock_table_entry_list}

   {clock_table_entry_list} = <clock_time1>,<clock_time_event1>,<parameter1>;
                            <clock_time2>,<clock_time_event2>,<parameter2>;
                                              .
                                              .
                                              .
                            <clock_time25>,<clock_time_event25>,<parameter25>;

COMMENTS:

STATUS:
   Complete

=========================================================================
GCssB0                                                             GCssB0
GCssB1               Read/Write Mailbox                            GCssB1
GCssB2                                                             GCssB2
GCssB3                                                             GCssB3
-------------------------------------------------------------------------

FUNCTION:
    Four mailboxes are available for the host system.  These provide
    non-volatile storage which may be used by the host.  IQ will time
    stamp the arrival time of mail.   These mailboxes may be used to
    keep status information, such as which method is loaded, or it may
    be used as a means to communicate with a modem diagnostic session.

PART OF WORKFILE:  No

HOST ISSUES:
 GCssB0 "<message>"
   <message> - any sequence of ASCII characters except '"'.
               The maximum number of characters allowed is 64.
               Note, the message must be surrounded by quotes.
GC RETURNS:
   no response

HOST ISSUES:
 GCssB0 ?
GC RETURNS:
 ssGCB0 <time>,<date>,"<message>"
    <time> - HHMMSS
    <date> - DDMMYY
    <message> - contents of the mailbox

COMMENTS:
   A <time> and <date> stamp of all zeros indicates that the mailbox
   was never used.

STATUS:
   Complete


=========================================================================
GCssSA          GC Setpoints and Actuals                           GCssSA
-------------------------------------------------------------------------
FUNCTION:
   This command returns the setpoints and actuals for the most commonly
   used status parameters.  The values are also available in other
   commands (xxssST.)

PART OF WORKFILE:  No

HOST ISSUES:
   GCssSA
GC RETURNS:
   ssGCSA <oven_temp_setpt>,<oven_temp_actual>,
         <frnt_inlet_temp_setpt>,<frnt_inlet_temp_actual>,
         <frnt_inlet_pres_setpt>,<frnt_inlet_pres_actual>,
         <frnt_inlet_total_flow_setpt>,<frnt_inlet_total_flow_actual>,
         <back_inlet_temp_setpt>,<back_inlet_temp_actual>,
         <back_inlet_pres_setpt>,<back_inlet_pres_actual>,
         <back_inlet_total_flow_setpt>,<back_inlet_total_flow_actual>,
         <frnt_detect_temp_setpt>,<frnt_detect_temp_actual>,
         <frnt_detect_fuel_flow_setpt>,<frnt_detect_fuel_flow_actual>,
         <frnt_detect_util_flow_setpt>,<frnt_detect_util_flow_actual>,
         <frnt_detect_makeup_flow_setpt>,<frnt_detect_makeup_flow_actual>,
         <back_detect_temp_setpt>,<back_detect_temp_actual>,
         <back_detect_fuel_flow_setpt>,<back_detect_fuel_flow_actual>,
         <back_detect_util_flow_setpt>,<back_detect_util_flow_actual>,
         <back_detect_makeup_flow_setpt>,<back_detect_makeup_flow_actual>,
         <col_1_flow_calculated>,
         <col_2_flow_calculated>,
         <aux_1_temp_setpt>,<aux_1_temp_actual>,
         <aux_2_temp_setpt>,<aux_2_temp_actual>,
         <aux_3_pres_setpt>,<aux_3_pres_actual>,
         <aux_4_pres_setpt>,<aux_4_pres_actual>,
         <aux_5_pres_setpt>,<aux_5_pres_actual>,
         <signal_1_value>,
         <signal_2_value>,
         <Valve_1_actual>,
         <Valve_2_actual>,
         <Valve_3_actual>,
         <Valve_4_actual>,
         <Valve_5_actual>,
         <Valve_6_actual>,
         <Valve_7_actual>,
         <Valve_8_actual>,
         <MPV_position_input>,
         <elapsed_time>

    <col_1_flow_calculated>/<col_2_flow_calculated> gives a valid flow only
                if the column is defined and connected to an EPC Inlet.
                An invalid flow will be returned as -1.  This is a
                calculated flow based on column dimensions and source
                head pressure - not an actual.
    <signal_1_value>/<signal_2_value> = gives same signal value as the GC's
                front panel display (SIGNALx , VALUE.)  The
                point will be a 4 byte value (not 6 byte as in SxRD) the
                scale factor will be a factor of 32 smaller then given in
                SxCS command. The data point will have the equivalent
                filtering of a 100Hz data point for a detector signal or
                a 50Hz data point for other signals.
    <MPV_position_input> = position number read from the BCD connector on
                the back of the instrument.
    <elapsed_time> = elapsed time of current run or post run.

                 <run_state> |  <elapsed_time> returns
                -------------|------------------------
                 RUN IDLE    |  0
                 PRE RUN     |  0
                 RUN ACTIVE  |  elapsed time of RUN
                 POST RUN    |  elapsed time of POST RUN

COMMENTS:
   Note, on a fast ramp there may be enough delay between reading the
   setpoint and actual that the setpoint is slightly behind the actual.
   This condition will not occur when using the individual status
   commands (xxST) to get setpoints and actuals.

STATUS:
   Complete




=========================================================================
GCssES          Get Number of GC Exception Log Entries             GCssES
-------------------------------------------------------------------------
FUNCTION:
    This command sets up a filter for selecting a subset of the entries
    in the non-volatile exception log and returns the number of entries
    in the log that match this filter.

HOST ISSUES:
   GCssES <min_exception_number>,<max_exception_number>,<min_date>,
          <min_time>,<max_date>,<max_time>

      <min_exception_number> = smallest exception number passed by the
                               filter - default is no minimum
      <max_exception_number> = largest exception number passed by the
                               filter - default is no maximum
      <min_date>             = earliest date passed by the filter
                              (DDMMYY) - default is no minimum date
      <min_time>             = earliest time (on the earliest date)
                               passed by the filter (HHMMSS) - default
                               is 000000 - ignored if <min_date> is
                               not specified
      <max_date>             = latest date passed by the filter -
                               default is no maximum date
      <max_time>             = latest time (on the latest date)
                               passed by the filter - default is
                               235959 - ignored if <max_date> is
                               not specified

GC RETURNS:
   ssGCES <size>

EXAMPLE:
1) Request all entries in the exception log

Host sends:
   GCssES

GC returns:
   ssGCES 20

2) Request only entries dated January 1, 1999 or later

Host sends:
   GCssES ,,010199

GC returns:
   ssGCES 15

COMMENTS:
      This command sets the active filter for the host channel which
      issued the command. Other host channels have their own active
      filters.

      In comparing dates, 97 (1997) is considered the earliest year and
      96 (2096) is considered the latest.

      An error in any of the parameters will result in a returned value of zero.


=========================================================================
GCssEL          Get GC Exception Log Entry                         GCssEL
-------------------------------------------------------------------------
FUNCTION:
    This command returns an entry from the non-volatile GC Exception Log.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssEL <log_index>

      <log_index> = 1..n corresponds to the log entry in the exception log
                    among those entries that match the current filter
                    (see GCES for filter definition).

GC RETURNS:
   ssGCEL <exception_code>,<description>,<date>,<time>,<uptime_clock>,
          <run_count>

      <exception_code> = 0    if Exception_Log [log_index] is empty
                       = 1..n if Exception_Log [log_index] exists
      <description>    = gives ASCII description of log entry.
                         The description may be a maximum of 80 characters,
                         enclosed in quotes.
      <date>           = DDMMYY
                         DD: day
                         MM: month
                         YY: year
      <time>           = HHMMSS
                         HH: hour
                         MM: minute
                         SS: second
      <uptime_clock>   = cumulative power-on time in seconds
      <run_count>      = cumulative number of runs

COMMENTS:  If the exception log entry was generated by the GC then
           exception_code will be that of a shutdown (1 to 23) or a non-fatal
           error (200 to 290) and the description will be the pop up message
           20 (characters maximum) for that exception. Leading blanks are
           omitted from the description.
EXAMPLES:
1)  Get first log entry:

Host sends:
   GCssEL 1

GC returns:
   ssGCEL 789,"Not ready: Divide by zero",300198,130001,16762995,4473

=========================================================================
GCssEA          Add Entry to the GC Exception Log                  GCssEA
-------------------------------------------------------------------------
FUNCTION:
    This command adds an entry to the non-volatile GC Exception Log.

HOST ISSUES:
   GCssEA <exception_code>,<description>

   <exception_code> = a value between 1 and 65534
   <description>    = up to 80 characters, enclosed in quotes

GC RETURNS:
   ssGCEA <return_code>

   <return code> = See Appendix

COMMENTS:  This command will return OK if it is successful and will return
           a code explaining why not otherwise.

           There is nothing to prevent the use of exception codes that are
           also used by the GC (1 to 23 and 200 to 290), but this could
           cause confusion so it should probably be avoided. In addition,
           values in the ranges 1000 through 1999 and 10000 through 10999
           are reserved for the RUI (removable user interface).

EXAMPLE:

Host sends:
   GCssEA 10000,"Warning: Control Module Wacko"

GC returns:
   ssGCEA 0

NOTE:
      The capacity of the exception log is quite large (~1000 entries).
      Once it is filled to capacity, space for new entries will be freed up
      automatically by deleting the oldest half of the log, leaving only
      the most recent half of the entries.


=========================================================================
GCssED          Delete the GC Exception Log                        GCssED
-------------------------------------------------------------------------
FUNCTION:
    This deletes the entire contents of the non-volatile GC Exception Log.

HOST ISSUES:
   GCssED

GC RETURNS:
   ssGCED <return_code>

   <return code> = See Appendix

COMMENTS:  This command will return OK if it is successful and will return
           a code explaining why not otherwise.

EXAMPLE:

Host sends:
   GCssED

GC returns:
   ssGCED 0



/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */
***************************************************************************
***************************************************************************
* INLET COMMANDS:                                                         *
***************************************************************************

=========================================================================
IFssTP                                                             IFssTP
IBssTP                 Inlet Type                                  IBssTP
-------------------------------------------------------------------------

FUNCTION:
    This command sets/reports the inlet type.  You can only set a manual
inlet's type.

PART OF WORKFILE:  No

HOST ISSUES:
 IFssTP <inlet_type>
   <inlet_type> - MANUAL_PP = 4, MANUAL_COC = 5, MANUAL_SS = 6,
                  UNKNOWN_INLET = 7, NO_INLET = 8

GC RETURNS:
   no response

HOST ISSUES:
 IFssTP ?
GC RETURNS:
   <inlet_type> - PP = 0,        COC = 1,        SS = 2,  PTV = 3,
                  MANUAL_PP = 4, MANUAL_COC = 5, MANUAL_SS = 6,
                  UNKNOWN_INLET = 7, NO_INLET = 8, ACI = 9, G_PTV=10,
                  MANUAL_ACI=11, CIS4=12, SIMDIST=13, CIS3 = 14,
                  JIB = 15, VOLATILES=16

  ACI:        AC's sim dist inlet; oem'ed by hp.
              6890 support: pneu = masquerading COC
                            thermal = masquerading COC
                            INET_listing = masquerading COC
                            kybd title = "HP/AC"
                            PC support = masquerading as COC

  G_PTV:      gerstel's 5890 style ptv H/W as originally released on 6890
              6890 support: pneu = masquerading SS
                            thermal = none; (uses Gerstel thermal ctrlr)
                            INET_listing = masquerading SS
                            kybd title = "PCS/SL"
                            PC support = masquerading as SS

  MANUAL_ACI: ac's sim dist, packed mode (KLUGE!); no PC support.
              Inlet H/W same as ACI

  CIS4:       gerstel's cooled injection system  rev 4 .
              6890 support: pneu = SS + solvent vent mode
                            thermal = COC + cryo
                            INET_listing = fully supported
                            kybd title = "HP PTV"
                            PC support = Seaweed I release

  SIMDIST:    real implementation of AC's sim dist inlet; same inlet H/W as ACI
              6890 support: pneu = same as PP
                            thermal = COC + air_cooling
                            INET_listing = fully supported
                            kybd title = "PCM"
                            PC support = Seaweed I release

  CIS3:       gerstel's 5890 style ptv; same inlet H/W as G_PTV
              6890 support: pneu = SS  + solvent vent mode
                            thermal = none; (uses Gerstel thermal ctrlr)
                              (6890 inlet zone free for use as aux )
                            INET_listing = fully supported
                            kybd title = "CIS3"
                            PC support = fall 95 release

  VOLATILES:  HP proprietary design; tuned for Purge&Trap and HeadSpace
              6890 support: pneu = SS  - pulse modes + flow_driven sampling operation
                            thermal = std S/SL
                            INET_listing = fully supported
                            kybd title = "VI"
                            PC support = Seaweed I

  JIB:        secondary standard iq manifold for manufacturing calibration

STATUS:
   Complete


=========================================================================
IFssTZ                                                             IFssTZ
IBssTZ          Inlet Thermal Zone ON/OFF                          IBssTZ
-------------------------------------------------------------------------

FUNCTION:
    This command turns the inlet thermal zone on or off.

PART OF WORKFILE:  Yes

HOST ISSUES:
 IFssTZ <on/off>
   <on/off> - set zone on or off [on|off]
      <off> - 0
      <on> - 1
GC RETURNS:
   no response

HOST ISSUES:
 IFssTZ ?
GC RETURNS:
  returns current value [0|1]

STATUS:
   Complete


=========================================================================
IFssTR                                                             IFssTR
IBssTR          Inlet Temperature Ramp                             IBssTR
-------------------------------------------------------------------------

FUNCTION:
    This command will set the temperature profile for the inlets.
    The cool on column inlet temperature may follow the oven temperature
    or operate independently. The split/splitless and purged packed inlets
    are designed for fixed temperature operation.  These inlets may be
    ramped by this command but there is not a supported ramp rate.
    Note, oven track mode is used for cool on column inlets only.

PART OF WORKFILE:  Yes

HOST ISSUES:
 IFssTR <oven_track_mode>,<init_temp>,<init_time>,
                        <rate_1>,<final_temp_1>, <final_time_1>,
                        <rate_2>,<final_temp_2>,<final_time_2>,
                        <rate_3>, <final_temp_3>,<final_time_3>

   <oven_track_mode> - <enable>|<disable>
      intended for Cool On Column inlets
      <disable> - 1 - track oven temperature. No other parameters used.
      <enable> - 0 - set temp independent of oven. Ramp parameters follow.
   <init_temp> - initial temperature of a ramp or only temp for non ramped
      inlets.
   <init_time> - time at initial temperature
   <rate_1> - rate of temperature rise
   <final_temp_1> - final temperature of reached by ramp 1
   <final_time_1> - time at final temperature of ramp 1
      .
      .
      .

GC RETURNS:
  no response

HOST ISSUES:
 IFssTR ?
GC RETURNS:
    returns current settings

STATUS:
   Complete

=========================================================================
IFssTI                                                             IFssTI
IBssTI          Set Inlet Temp Immediate                           IBssTI
-------------------------------------------------------------------------
FUNCTION:
    Sets the temperature of the thermal zone immediately.

PART OF WORKFILE:  No

HOST ISSUES:
 IFssTI <temp>
   <temp> - bring temperature to <temp> immediately
GC RETURNS:
  no response

HOST ISSUES:
 IFssTI ?
GC RETURNS:
  returns current settings

STATUS:
   Complete


=========================================================================
                   Inlet Pneumatics Setpoints
-------------------------------------------------------------------------
SPLIT INLET

      injection_mode = Split

                                   \/
        +-------------+            ||         +-----------------------------+
        V             |        +---||---+     |                             |
    +--------+   +---------+   |        |  +------+  +----------+           |
 ===|Prprtnl |===|Mass Flow|====        ===| Pres |==|Fixed Flow|=====      |
    |Valve   |   | Sensor  |   |        |  |Sensor|  | Regulator|   Septum  |
    +--------+   +---------+   | INLET  |  +------+  +----------+    Purge  |
                  total_flow   |        | inlet_pres                        |
                  saver_flow   |        |                                   |
                               |        |                                   |
                               |        |         +-------------------------+
                               |        |         V
                               |        |    +---------+
                               |        =====|Back Pres|===  split_flow
                               |        |    |  Reg    |
                               +---||---+    +---------+
                                   ||
                                   ||                        split_flow
                                   ||          split_ratio = ----------
                                   ||                         col_flow

            col_flow(inlet_pres,col_len,col_dia,gas_type)

-------------------------------------------------------------------------
SPLITLESS INLET

      injection_mode =  Splitless or Pulsed Splitless

        +-------------------------------------+
        |                                     |
        |                          \/         |
        |                          ||         |
        V                      +---||---+     |
    +--------+   +---------+   |        |  +------+  +----------+      Septum
 ===|Prprtnl |===|Mass Flow|====        ===| Pres |==|Fixed Flow|=====  Purge
    | Valve  |   | Sensor  |   |        |  |Sensor|  | Regulator|   sptm_flow
    +--------+   +---------+   | INLET  |  +------+  +----------+
                  total_flow   |        | inlet_pres
                  saver_flow   |        | pulsed_pres
                               |        |
                               |        |    +---------+
                               |        =====|Back Pres|==  purge_flow
                               |        |    |  Reg    |
                               +---||---+    +---------+
                                   ||
                                   ||
                                   ||

            total_flow = col_flow + sptm_flow
            col_flow(inlet_pres,col_len,col_dia,gas_type)


At purge_time the inlet control switches to the configuration shown under split.

                                   \/
        +-------------+            ||         +-----------------------------+
        V             |        +---||---+     |                             |
    +--------+   +---------+   |        |  +------+  +----------+           |
 ===|Prprtnl |===|Mass Flow|====        ===| Pres |==|Fixed Flow|=====      |
    |Valve   |   | Sensor  |   |        |  |Sensor|  | Regulator|   Septum  |
    +--------+   +---------+   | INLET  |  +------+  +----------+    Purge  |
                  total_flow   |        | inlet_pres                        |
                  saver_flow   |        |                                   |
                               |        |         +-------------------------+
                               |        |         V
                               |        |    +---------+
                               |        =====|Back Pres|===  purge_flow
                               |        |    |  Reg    |
                               +---||---+    +---------+
                                   ||
                                   ||

-----------------------------------------------------------------------------
COOL ON COLUMN INLET

               +-------------------------+
               |                         |
               |              \/         |
               |              ||         |
               V          +---||---+     |
          +--------+      |        |  +------+  +----------+
    ======|Prprtnl |=======        ===| Pres |==|Fixed Flow|==== Septum
          | Valve  |      |        |  |Sensor|  | Regulator|     Purge
          +--------+      | INLET  |  +------+  +----------+
                          |        | inlet_pres
                          |        |
                          |        |
                          +---||---+
                              ||
                              ||
                              ||


         col_flow(inlet_pres,col_len,col_dia,gas_type)

-----------------------------------------------------------------------------
PURGED_PACKED & AC_SIMULATED_DISTILLATION INLETS

KNOWN COLUMN (PRESSURE CONTROL)

          +-----------------------------------+
          |                                   |
          |                        \/         |
          |                        ||         |
          V                    +---||---+     |
     +--------+  +--------+    |        |  +------+  +----------+
  ===|Prprtnl |==|Mass Flw|=====        ===| Pres |==|Fixed Flow|==== Septum
     | Valve  |  | Sensor |    |        |  |Sensor|  | Regulator|     Purge
     +--------+  +--------+    | INLET  |  +------+  +----------+
                Total Flow     |        | inlet_pres
                               |        |
                               |        |
                               +---||---+
                                   ||
                                   ||



UNKNOWN COLUMN (FLOW CONTROL)
                                   \/
          +----------+             ||
          V          |         +---||---+
     +--------+  +--------+    |        |  +------+  +----------+
  ===|Prprtnl |==|Mass Flw|=====        ===| Pres |==|Fixed Flow|==== Septum
     | Valve  |  | Sensor |    |        |  |Sensor|  | Regulator|     Purge
     +--------+  +--------+    | INLET  |  +------+  +----------+
                Total Flow     |        | inlet_pres
                               |        |
                               |        |
                               +---||---+
                                   ||
                                   ||

-------------------------------------------------------------------------
CIS3 INLET

      injection_mode = Split or Solvent Vent
                       See Split_Splitless diagrams for other modes

        +-------------+
        V             |
    +--------+   +---------+
 ===|Prprtnl |===|Mass Flow|==\\
    |Valve   |   | Sensor  |  ||
    +--------+   +---------+  ||
                  total_flow  ||
                  saver_flow  ||
                              ||
                              ||
                     //===============\\
                    ||                ||
                    ||       \/       ||
                    ||       ||       ||       +-----------------------------+
                    ||   +---||---+   ||       |                             |
                    ||   |        |   ||    +------+  +----------+           |
                     \\===        |    \\===| Pres |==|Fixed Flow|=====      |
                    Tee  |        |         |Sensor|  | Regulator|   Septum  |
                         | INLET  |         +------+  +----------+    Purge  |
                         |        |        inlet_pres                        |
                         |        |                                          |
                         |        |                                          |
                         |        |                 +------------------------+
                         |        |                 V
                         |        |            +---------+     split_flow
                         |        =============|Back Pres|===      or
                         |        |            |  Reg    |     vent_flow
                         +---||---+            +---------+
                             ||
                             ||                        split_flow
                             ||          split_ratio = ----------
                             ||                         col_flow

            col_flow(inlet_pres,col_len,col_dia,gas_type)



-------------------------------------------------------------------------

The pneumatics setpoints for the inlets are strongly dependent on the
type of inlet.  Therefore, different commands are used for the different
inlet types.   There are setpoint and status commands for Split/Splitless,
Cool On Column, Purged Packed, and PTV inlets.
All flows are given in ul/min and all pressures are given in dyn/sq.cm.

=========================================================================
IFssNZ                                                             IFssNZ
IBssNZ          Inlet Pneumatics   ON/OFF                          IBssNZ
-------------------------------------------------------------------------

FUNCTION:
    This command turns the inlet pneumatics on or off.

PART OF WORKFILE:  Yes

HOST ISSUES:
 IFssNZ <on/off>
   <on/off> - set inlet pneumatics on or off [on|off]
      <off> - 0
      <on> - 1
GC RETURNS:
   no response

HOST ISSUES:
 IFssNZ ?
GC RETURNS:
  returns current value [0|1]

STATUS:
   Complete


=========================================================================
IFssPI                                                             IFssPI
IBssPI          Set Inlet Pres Immediate                           IBssPI
-------------------------------------------------------------------------
FUNCTION:
    Sets the inlet pressure immediately.

   Outside of run:
      The pressure value set will affect the initial value of the column
      ramp in the workfile.
   During run:
      Changing the pressure changes the current setpoint but does
      not affect the initial value in the workfile.
      If the pressure was ramping at the time the pressure was changed, then
      the ramp will continue from the new set point to the final value
      of that ramp.

PART OF WORKFILE:  No, but may affect it (see above)

HOST ISSUES:
 IFssPI <pres>
   <pres> - bring pressure to <pres> immediately
GC RETURNS:
  no response

HOST ISSUES:
 IFssPI ?
GC RETURNS:
  returns current pressure settings

STATUS:
   Complete



=========================================================================
IFssFI                                                             IFssFI
IBssFI          Set Inlet Flow Immediate                           IBssFI
-------------------------------------------------------------------------
FUNCTION:
    Sets the inlet total flow immediately.

   Outside of run:
      The flow value set will affect the initial value of the column flow
      ramp in the workfile.
   During run:
      Changing the flow changes the current setpoint but does
      not affect the initial value in the workfile.
      If the flow was ramping at the time the flow was changed, then
      the ramp will continue from the new set point to the final value
      of that ramp.

PART OF WORKFILE:  No, but may affect it (see above)

HOST ISSUES:
 IFssFI <flow>
   <flow> - bring total inlet flow to <flow> immediately
GC RETURNS:
  no response

HOST ISSUES:
 IFssFI ?
GC RETURNS:
  returns current total flow settings

STATUS:
   Complete


-------------------------------------------------------------------------
IFssSP                                                             IFssSP
IBssSP          Split/Splitless Inlet Pneumatics Setpoints         IBssSP
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the Split/Splitless inlet. It
    contains all parameters used in the Split, Splitless and Pulsed
    Splitless modes of operation.  Not all parameters are valid in all
    configurations, the command will only accept parameter valid for the
    current configuration.

    This command has variant parameters.  The meaning of the parameters changes
    with the current configuration and (current or specified) inject mode.
    the first parameter indicates that you think the col is defined and that is
    the flavor of the parameters.  if you are correct, the parameters will be
    checked and accepted one at a time.  If you were wrong, the command aborts
    without checking or rejecting any subsequent parameters. This first
    parameter may be defaulted on setting a parameter, but not recommended.

    Reserved parameters silently accept anything and the returned value is
    undefined although generally 0.


PART OF WORKFILE:  Yes

HOST ISSUES:  IFssSP <col_defined>,<inject_mode>,p3,p4,p5,p6,p7...

               where p3, p4, p5 ... are defined based on the current
               configuration if parameters 1 or 2 are defaulted or
               based on the values of parameters 1 and/or 2 if they are
               specified.


Column Defined?  no               yes              no
Inj Mode         Split            Split            Splitless


Parm num:
1                <col_defined>=0  <col_defined>=1  <col_defined>=0
2                <inject_mode>=0  <inject_mode>=0  <inject_mode>=1
3                <inlet_pres>     <inlet_pres>     <inlet_pres>
4                <total_flow>     <split_ratio>    <total_flow>
5                   0                0             <purge_time>
6                   0                0                0
7                   0                0                0
8                   0             <saver_flow>        0
9                   0             <saver_time>        0
10                  0             <saver_on/off>      0




Column Defined?  yes              no               yes
Inj Mode         Splitless        Pulsed           Pulsed
                                  Splitless        Splitless

Parm num:
1                <col_defined>=1  <col_defined>=0  <col_defined>=1
2                <inject_mode>=1  <inject_mode>=2  <inject_mode>=2
3                <inlet_pres>     <inlet_pres>     <inlet_pres>
4                <purge_flow>     <total_flow>     <purge_flow>
5                <purge_time>     <purge_time>     <purge_time>
6                   0             <pulse_pres>     <pulse_pres>
7                   0             <pulse_time>     <pulse_time>
8                <saver_flow>        0             <saver_flow>
9                <saver_time>        0             <saver_time>
10               <saver_on/off>      0             <saver_on/off>





Column Defined?  no               yes
Inj Mode         Pulsed           Pulsed
                 Split            Split

Parm num:
1                <col_defined>=0  <col_defined>=1
2                <inject_mode>=3  <inject_mode>=3
3                <inlet_pres>     <inlet_pres>
4                <total_flow>     <split_ratio>
5                   0                0
6                <pulse_pres>     <pulse_pres>
7                <pulse_time>     <pulse_time>
8                   0             <saver_flow>
9                   0             <saver_time>
10                  0             <saver_on/off>



    example: set inlet to split mode, and set the inlet pres and total flow.
             total flow is specified because the col is unknown.

        IFssSP  0, 0, <inlet_pres>, <total_flow>

    example: set inlet to split mode, and set the inlet pres and split ratio
             split ratio is specified because the col is known.

        IFssSP  1, 0, <inlet_pres>, <split_ratio>

    example: set inlet to splitless mode, and set the inlet pres and purge flow
             purge_flow is specified because the col is known.

        IFssSP  1, 1, <inlet_pres>, <purge_flow>




   <injection_mode> - [Split|Splitless|Pulsed_Splitless|Pulsed_Split]
      <Split> - 0
      <Splitless> - 1
      <Pulsed_Splitless> - 2
      <Pulsed_Split> - 3
      {manual|EPC,split|splitless|pulsed splitless|pulsed_split,
                                                 known column|unknown column}
   <inlet_pres> - pressure of the inlet (also column pressure)
      {EPC,split|splitless|pulsed splitless,known column|unknown column}
   <purge_flow> - purge flow through split esnt.
      {EPC,splitless|pulsed splitless,known column|unknown column}
   <purge_time> - time into run when purge begins.
      {manual|EPC,splitless|pulsed splitless,known column|unknown column}
   <total_flow> - total flow into inlet
      {EPC,split,unknown column}
   <split_ratio> - split ratio (split_ratio defines split_flow so only
      one of the two parameters should be specified.)
      {EPC,split,known column}
   <pulse_pres> - pulse pressure
      {EPC,pulsed splitless|pulsed_split, known column|unknown column}
   <pulse_time> - pulse duration
      {EPC,pulsed splitless|pulsed_split, known column|unknown column}
   <saver_time> - run time when miser mode is activated.
      {EPC, known column}
   <saver_flow> - reduced split/purge flow when miser mode is active
      {EPC, known column}
   <saver on/off> - 1 saver enabled, 0 saver disabled.
      {EPC, known column}

GC RETURNS:
  no response

HOST ISSUES:
 IFssSP ?
GC RETURNS:
  returns current settings using the parameter list valid for the current
  configuration.

STATUS:
   Complete


-------------------------------------------------------------------------
IFssCP                                                             IFssCP
IBssCP          Cool On Column Inlet Pneumatics Setpoints          IBssCP
-------------------------------------------------------------------------
FUNCTION:
    This command will set the parameter associated with the
    Cool On Column inlet.

PART OF WORKFILE:  Yes

HOST ISSUES:
 IFssCP <inlet_pres>
   <inlet_pres> - pressure of the inlet (also column pressure)
GC RETURNS:
  no response

HOST ISSUES:
 IFssCP ?
GC RETURNS:
  returns current setting

STATUS:
   Complete

-------------------------------------------------------------------------
IFssPP                                                             IFssPP
IBssPP          Purged Packed Inlet Pneumatics Setpoints           IBssPP
-------------------------------------------------------------------------
FUNCTION:
    This command will set the parameters associated with the Purged Packed
    inlet. If column or gas is unknown, flow must be used.  Otherwise,
    pressure must be specified.


PART OF WORKFILE:  Yes

HOST ISSUES:
 IFssPP <what>,<flow/pres>
   <what>      - is the following parameter a flow or a pressure
                  0 = flow
                  1 = pres
   <flow/pres> - pressure of the inlet (also column pressure)  - or -
                total flow through the inlet
GC RETURNS:
  no response

HOST ISSUES:
 IFssPP ?
GC RETURNS:
  returns current settings

STATUS:
   Complete


-------------------------------------------------------------------------
IFssMS                                                             IFssMS
IBssMS          Manual Split/Splitless Inlet Setpoints             IBssMS
-------------------------------------------------------------------------
FUNCTION:
    This command will set the parameters associated with the manual ss
    inlet.


PART OF WORKFILE:  Yes

HOST ISSUES:
 IFssMS <mode>,<purge_time>
   <mode>      - inlet injection mode
                  0 = split
                  1 = splitless
  <purge_time> - run time when inlet purge begins


GC RETURNS:
  no response

HOST ISSUES:
 IFssMS ?
GC RETURNS:
  returns current settings

STATUS:
   Complete


-------------------------------------------------------------------------
IFssVP                                                             IFssVP
IBssVP          PTV Inlet Pneumatics Setpoints                     IBssVP
-------------------------------------------------------------------------
FUNCTION:
    This command will set the parameters associated to the PTV inlet.

PART OF WORKFILE:  Yes

PTV is not available at this time

STATUS:
    Incomplete - PTV not defined.

-------------------------------------------------------------------------
IFssGP                                                             IFssGP
IBssGP          CIS3 Gerstel PTV Inlet Pneumatics Setpoints        IBssGP
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the CIS3 inlet. It
    contains all parameters used in the Solvent_Vent, split, Splitless and
    Pulsed Splitless modes of operation.  Not all parameters are valid in all
    configurations, the command will only accept parameter valid for the
    current configuration.

    This command has variant parameters.  The meaning of the parameters changes
    with the current configuration and (current or specified) inject mode.
    the first parameter indicates that you think the col is defined and that is
    the flavor of the parameters.  If you are correct, the parameters will be
    checked and accepted one at a time.  If you were wrong, the command aborts
    without checking or rejecting any subsequent parameters. This first
    parameter may be defaulted on setting a parameter, but not recommended.

    Reserved parameters silently accept anything and the returned value is
    undefined although generally 0.


PART OF WORKFILE:  Yes

HOST ISSUES:  IFssGP <col_defined>,<inject_mode>,p3,p4,p5,p6,p7...

               where p3, p4, p5 ... are defined based on the current
               configuration if parameters 1 or 2 are defaulted or
               based on the values of parameters 1 and/or 2 if they are
               specified.


Column Defined?  no               yes              no
Inj Mode         Split            Split            Splitless


Parm num:
1                <col_defined>=0  <col_defined>=1  <col_defined>=0
2                <inject_mode>=0  <inject_mode>=0  <inject_mode>=1
3                <inlet_pres>     <inlet_pres>     <inlet_pres>
4                <total_flow>     <split_ratio>    <total_flow>
5                   0                0             <purge_time>
6                   0                0                0
7                   0                0                0
8                   0                0                0
9                   0             <saver_flow>        0
10                  0             <saver_time>        0
11                  0             <saver_on/off>      0




Column Defined?  yes              no               yes
Inj Mode         Splitless        Pulsed           Pulsed
                                  Splitless        Splitless

Parm num:
1                <col_defined>=1  <col_defined>=0  <col_defined>=1
2                <inject_mode>=1  <inject_mode>=2  <inject_mode>=2
3                <inlet_pres>     <inlet_pres>     <inlet_pres>
4                <purge_flow>     <total_flow>     <purge_flow>
5                <purge_time>     <purge_time>     <purge_time>
6                   0                0                0
7                   0             <pulse_pres>     <pulse_pres>
8                   0             <pulse_time>     <pulse_time>
9                <saver_flow>        0             <saver_flow>
10               <saver_time>        0             <saver_time>
11               <saver_on/off>      0             <saver_on/off>





Column Defined?  no               yes              no
Inj Mode         Pulsed           Pulsed           Solvent
                 Split            Split            Vent

Parm num:
1                <col_defined>=0  <col_defined>=1  <col_defined>=0
2                <inject_mode>=3  <inject_mode>=3  <inject_mode>=4
3                <inlet_pres>     <inlet_pres>     <inlet_pres>
4                <total_flow>     <split_ratio>    <total_flow>
5                   0                0             <purge_time>
6                   0                0             <vent_flow>
7                <pulse_pres>     <pulse_pres>     <vent_pres>
8                <pulse_time>     <pulse_time>     <vent_time>
9                   0             <saver_flow>        0
10                  0             <saver_time>        0
11                  0             <saver_on/off>      0

Column Defined?  yes
Inj Mode         Solvent
                 Vent

Parm num:
1                <col_defined>=0
2                <inject_mode>=4
3                <inlet_pres>
4                <purge_flow>
5                <purge_time>
6                <vent_flow>
7                <vent_pres>
8                <vent_time>
9                <saver_flow>
10               <saver_time>
11               <saver_on/off>

    example: Set front inlet to solvent vent mode, and set the inlet pres
             and total flow.  Total flow is specified because the col is
             set to unknown.

        IFssGP  0, 4, <inlet_pres>, <total_flow>

    example: set inlet to split mode, and set the inlet pres and split ratio
             split ratio is specified because the col is known.

        IFssGP  1, 0, <inlet_pres>, <split_ratio>

    example: set inlet to splitless mode, and set the inlet pres and purge flow
             purge_flow is specified because the col is known.

        IFssGP  1, 1, <inlet_pres>, <purge_flow>




   <injection_mode> - [Split|Splitless|Pulsed_Splitless|Pulsed_Split|
                                                            |Solvent_Vent]
      <Split> - 0
      <Splitless> - 1
      <Pulsed_Splitless> - 2
      <Pulsed_Split> - 3
      <Solvent_Vent> 4
      {EPC,known column|unknown column}
   <inlet_pres> - pressure of the inlet (also column pressure)
      {EPC,known column|unknown column}
   <purge_flow> - purge flow through split vent.
      {EPC,splitless|pulsed splitless|solvent_vent,known column}
   <purge_time> - time into run when purge begins.
      {EPC,splitless|pulsed splitless,known column|unknown column}
   <total_flow> - total flow into inlet
      {EPC,unknown column}
   <split_ratio> - split ratio (split_ratio defines split_flow so only
      one of the two parameters should be specified.)
      {EPC,split|pulsed_split,known column}
   <pulse_pres> - pulse pressure
      {EPC,pulsed splitless|pulsed_split, known column|unknown column}
   <pulse_time> - pulse duration
      {EPC,pulsed splitless|pulsed_split, known column|unknown column}
   <vent_pres> - inlet pressure while solvent vent is active
      {EPC,solvent_vent, known column|unknown column}
   <vent_time> - time duration of solvent vent process
      {EPC,solvent_vent, known column|unknown column}
   <vent_flow> - flow thru solvent vent while solvent vent is active
      {EPC,solvent_vent, known column|unknown column}
   <saver_time> - run time when miser mode is activated.
      {EPC, known column}
   <saver_flow> - reduced split/purge flow when miser mode is active
      {EPC, known column}
   <saver on/off> - 1 saver enabled, 0 saver disabled.
      {EPC, known column}

GC RETURNS:
  no response

HOST ISSUES:
 IFssGP ?
GC RETURNS:
  returns current settings using the parameter list valid for the current
  configuration.

STATUS:
   Complete


-------------------------------------------------------------------------
IFssGV                                                             IFssGV
IBssGV          CIS4 Gerstel PTV Inlet Pneumatics Setpoints        IBssGV
-------------------------------------------------------------------------

FUNCTION:
    This command will query/set the parameters for the CIS4 inlet. Since
    the pneumatic plant & setpoints for the CIS4 are identical to the CIS3
    and since the same code is used for both inlets the host comm commands
    will be identical except for the <OpCode> characters. For example:

       For CIS3 <DL><SL><OpCode>... = IFssGP...

       For CIS4 <DL><SL><OpCode>... = IFssGV...


-------------------------------------------------------------------------
IFssDP                                                             IFssDP
IBssDP   Pneumatics Control Module (PCM) Setpoints                 IBssDP
-------------------------------------------------------------------------
FUNCTION:
    This command will set the pneumatic parameters associated with the Pneumatics
    Control Module (PCM) inlet. If column or gas is unknown, flow must be used.
    Otherwise, pressure must be specified.


PART OF WORKFILE:  Yes

HOST ISSUES:
 IFssDP <what>,<flow/pres>
   <what>      - is the following parameter a flow or a pressure
                  0 = flow
                  1 = pres
   <flow/pres> - pressure of the inlet (also column pressure)  - or -
                total flow through the inlet
GC RETURNS:
  no response

HOST ISSUES:
 IFssDP ?
GC RETURNS:
  returns current settings

STATUS:
   Complete


-------------------------------------------------------------------------
IFssVI                                                            IFssVI
IBssVI          Volatiles Inlet Pneumatics Setpoints               IBssVI
-------------------------------------------------------------------------

FUNCTION:
    This command will set the parameters for the Volatiles  inlet. It
    contains all parameters used in the Split, Splitless and Direct
    modes of operation.  Not all parameters are valid in all
    configurations, the command will only accept parameter valid for the
    current configuration.

    This command has variant parameters.  The meaning of the parameters changes
    with the current configuration and (current or specified) inject mode.
    the first parameter indicates that you think the col is defined and that is
    the flavor of the parameters.  If you are correct, the parameters will be
    checked and accepted one at a time.  If you were wrong, the command aborts
    without checking or rejecting any subsequent parameters. This first
    parameter may be defaulted on setting a parameter, but not recommended.

    Reserved parameters silently accept anything and the returned value is
    undefined although generally 0.

    The VI inlet has some special considerations that are unique to it:

    1/ The VI inlet has three injection modes:
         * SPLIT
         * SPLITLESS
         * DIRECT

      The VI also has two plumbing configuration states which must be selected by
      manual plumbing changes.  Either the split vent line is connected to the
      inlet vessel vent port OR the inlet vessel split vent port is capped off.
      Specifically, these states are:
         * PLUMBED   ( inlet vent port is plumbed to vent line and vent line
                       is active )
         * CAPPED    ( inlet vent port is capped off and vent line is inactive )

     There is coupling between the injection modes and the plumbing state:

           "PLUMBING STATE"|    "inject_mode"
                           |Split  Splitless  Direct
           ================|========================
               Plumbed     | ok       ok        X
                           |                          { "X" = not allowed }
               Capped      |  X        X        ok

    To read the plumbing state see "pneu_presence" in the IFssCW or  GCssCF
    commands.

    The only way to change the plumbing state is by local gc keyboard dialog.
    The vent plumbing state may NOT be changed by host commands.  This means
    the VI range of allowed values for the "inject_mode" parameter is a function
    of the vent plumbing state .

    The gc automatically sets inject_mode to DIRECT if local keyboard dialog
    selects the capped state.

    "plumbed, split" are part of the VI default method parameters. If the gc is
    transitioned to DIRECT mode the old mode ( i.e. SPLIT or SPLITLESS ) is
    saved to be restored if the gc returns to a plumbed state.

    If the plumbing state is "plumbed" then host commands are free to
    arbitrarily select either the SPLIT or SPLITLESS injection modes.

    2/ "Smplg_time" must be the minimum value item in the set
       { Smplg_time purg_time saver_time ColInitTime } . IFssVi or IBssVi must
       be invoked with :

                   Smplg_time < saver_time   .AND.       ( See Note_1 )
                   Smplg_time < purge_time   .AND.       ( See Note_2 )
                   Smplg_time < ColInitTime  .AND.       ( See Note_3 )

                                  where ColInitTime = Column1_Init_Time or
                                                    = Column2_Init_Time

       If these conditions are NOT SATISFIED then the IXssVI invocation will be
       rejected and a CCxxER error will be logged.  Setting Smplg_time=0
       removes all constraints on purge_time and saver_time .

       When in "split mode" any non-zero value of Smplg_time is rejected.

       Note_1  - This constraint is active IFF saver_on/off=1
       Note_2  - This constraint is active IFF inject_mode=Splitless
       Note_3  - With respect to ColInitTime (only) :
                 If 6890 is in a valid state where column pressure ramps are
                 INACTIVE (for whatever reason ) , and then, ramps are turned
                 ON where a conflict with ColInitTime, 6890 will
                 automatically resolve this conflict by this action:

                     ColInitTime <= Samplg_time + .01

    3/ When VI_Flow_Mode is active ( see IFssST cmd )  ONLY the query form of
       the IXssVI cmd is allowed.  This is because during the VI_Flow_Mode
       sampling interval the flow/pressure setpoints are NOT writable from
       either the keyboard or host .  A CCER entry will result if a write is
       attempted.

PART OF WORKFILE:  Yes

HOST ISSUES:  IFssVI <col_defined>,<inject_mode>,p3,p4,p5,p6,p7...

               where p3, p4, p5 ... are defined based on the current
               configuration if parameters 1 or 2 are defaulted or
               based on the values of parameters 1 and/or 2 if they are
               specified.




Column Defined?  no               yes              no
Inj Mode         Split            Split            Splitless

Parm num:
1                <col_defined>=0  <col_defined>=1  <col_defined>=0
2                <inject_mode>=0  <inject_mode>=0  <inject_mode>=1
3                <inlet_pres>     <inlet_pres>     <inlet_pres>
4                <total_flow>     <split_ratio>    <total_flow>
5                   0                0             <purge_time>
6                   0             <saver_flow>        0
7                   0             <saver_time>        0
8                   0             <saver_on/off>      0
9                   0                0             <smplg_time>



Column Defined?  yes              no               yes
Inj Mode         Splitless        Direct           Direct

Parm num:
1                <col_defined>=1  <col_defined>=0  <col_defined>=1
2                <inject_mode>=1  <inject_mode>=6  <inject_mode>=6
3                <inlet_pres>     <inlet_pres>     <inlet_pres>
4                <purge_flow>        0                0
5                <purge_time>        0                0
6                <saver_flow>        0                0
7                <saver_time>        0                0
8                <saver_on/off>      0                0
9                <smplg_time>     <smplg_time>     <smplg_time>

    example: set inlet to split mode, and set the inlet pres and total flow.
             total flow is specified because the col is unknown.

        IFssVI  0, 0, <inlet_pres>, <total_flow>

    example: set inlet to split mode, and set the inlet pres and split ratio
             split ratio is specified because the col is known.

        IFssVI  1, 0, <inlet_pres>, <split_ratio>

    example: set inlet to splitless mode, and set the inlet pres and purge flow
             purge_flow is specified because the col is known.

        IFssVI  1, 1, <inlet_pres>, <purge_flow>




   <injection_mode> - [Split|Splitless|Direct]
      <Split>     = 0
      <Splitless> = 1
      <Direct>    = 6
   <inlet_pres> - pressure of the inlet (also column pressure)
      {EPC,split|splitless|pulsed splitless,known column|unknown column}
   <purge_flow> - purge flow through split esnt.
      {EPC,splitless|pulsed splitless,known column|unknown column}
   <purge_time> - time into run when purge begins.
      {manual|EPC,splitless|pulsed splitless,known column|unknown column}
   <total_flow> - total flow into inlet
      {EPC,split,unknown column}
   <split_ratio> - split ratio (split_ratio defines split_flow so only
      one of the two parameters should be specified.)
      {EPC,split,known column}
   <saver_time> - run time when miser mode is activated.
      {EPC, known column}
   <saver_flow> - reduced split/purge flow when miser mode is active
      {EPC, known column}
   <saver on/off> - 1 saver enabled, 0 saver disabled.
      {EPC, known column}
   <smplg_flow> - flow through inlet & sampling device while "preped" ;
                  "Preped" begins w/ pre-run and ends when "sampg_time"
                  is reached. The inlet is defined to be "sampling" in
                  this interval. While sampling the split_vent closed and
                  the pneu_mode=constant flow ONLY.
      {EPC,splitless|direct,  known_column|unknown_column}
   <smplg_time> - time into run when the "sampling" operation ends.
      {EPC,splitless|direct,  known_column|unknown_column}

GC RETURNS:
  no response

HOST ISSUES:
 IFssVI ?
GC RETURNS:
  returns current settings using the parameter list valid for the current
  configuration.

STATUS:
   Complete


=========================================================================
IFssST                                                             IFssST
IBssST          Inlet Status                                       IBssST
-------------------------------------------------------------------------

FUNCTION:
    Command returns the status of the inlet.
    NOTE: Not all pararmeters are valid for all types of inlets.

PART OF WORKFILE:  No

HOST ISSUES:
 IFssST

GC RETURNS:
 ssIFST <injection_mode>,<thermal_status>,<setpnt_temp>,<act_temp>,
         <pneumatic_status>,<setpnt_total_flow>,<act_total_flow>,
         <setpnt_inlet_pres>,<act_inlet_pres>

   <injection_mode> -  split/splitless,etc. injection modes

         Injection_Mode            S/SL CISx  VI
         --------------------      ---- ---- ----
         0 = Split                  x    x    x      "x"= supported by
         1 = Splitless              x    x    x           above inlet
         2 = Pulsed Splitless       x    x
         3 = Pulsed Split           x    x           " "= NOT supported
         4 = Solvent Vent                x                by above inlet
         5 = (Reserved)
         6 = Direct                           x

   <thermal_status> - status of zone (thermal fault,thermal shutdown etc.)
      {all inlet types}
         0 = OK
         1 = Thermal shutdown
             Note, if any zone in the system has thermal fault all zones
             are shutdown.
   <setpnt_temp> - current setpoint temperature of inlet
      {all inlet types}
   <act_temp> - actual temperature of inlet
      {all inlet types}
   <pneumatic_status> - such as inlet purging, gas saver active, pressure
          pulse active, pressure range, readiness,and shutdown info.
             Bit Map for pneumatic_status: (high true)
                Bit0 - pressure pulse active
                   {split/splitless inlet type}
                Bit1 - miser mode active
                   {split/splitless inlet type}
                Bit2 - purge active
                   {split/splitless inlet type}
                Bit3,4 - state
                   {all EPC inlets}
                      0 = OFF
                      1 = ON
                      3 = Shutdown
                Bit5 - VI_Flow_Active
                   {Volatiles inlet type only; see IXssVI cmds for more info }
                      0 = OFF
                      1 = ON
   <setpnt_total_flow> - setpoint for total flow into inlet
      {EPC split/splitless and pressure controlled purged packed}
   <act_total_flow> - actual total flow into inlet(= purge+septum purge+column)
      {EPC split/splitless and EPC purged packed}
   <setpnt_inlet_pres> - setpoint for pressure of the inlet
      {all inlets except flow controlled purged packed}
   <act_inlet_pres> - actual pressure of the inlet (also column pressure)
      {all inlet types}


STATUS:
   Complete


=========================================================================
IFssCF                                                             IFssCF
IBssCF          Inlet Configuration                                IBssCF
-------------------------------------------------------------------------
FUNCTION:
    This command configures the inlets gas type and
    sets the equib times for pressure and flow.  The equib time is the
    time from first reaching a setpoint until "READY" is declared.

PART OF WORKFILE:  Yes

HOST ISSUES:
 IFssCF <gas_type>,<pres_equib_time>,<flow_equib_time>
   <gas_type> - type of inlet gas
          0  = N2
          1  = H2
          2  = He
          3  = ArMe
          4  = O2
          5  = Air
          6  = Argon
          7  = UNKNOWN_GAS
   <pres_equib_time> - pressure equib time
   <flow_equib_time> - flow equib time.
            not valid for cool on column
GC RETURNS:
  no response

HOST ISSUES:
 IFssCF ?
GC RETURNS:
  returns current settings

STATUS:
   Complete


=========================================================================
                           Inlet Calibration
-------------------------------------------------------------------------

Two commands are needed to completely calibrate the inlet flow or pressure.
The commands provide the two points required to determine the pressure or
flow curve.  One command provides the zero offset (ZP or ZF) and the other
is used to calculate slope of the curve (LP or LF.)  The calibration status
command returns the slope, intercept and date of last calibration.

-------------------------------------------------------------------------
IFssAC                                                             IFssAC
IBssAC          Inlet Calibration - Enable Flow Sensor Auto Zero   IBssAC
-------------------------------------------------------------------------
FUNCTION:
    This command allows the flow sensor offset calib to be automatically
    done at the end of every run.

PART OF WORKFILE:  No

HOST ISSUES:
  IFssAC <enable_disable>
      <enable_disable>
                  0 = disabled
                  1 = enabled
GC RETURNS:
    no response

HOST ISSUES:
  IFssAC ?
GC RETURNS:
    current setting

EXAMPLE:
HOST ISSUES:
  IFssAC ?   ; request status
GC RETURNS:
  IFssAC 0

STATUS:
   Complete

-------------------------------------------------------------------------
IFssZP                                                             IFssZP
IBssZP          Inlet Calibration - Set Zero Pressure Now          IBssZP
-------------------------------------------------------------------------
FUNCTION:
    This command is used to calibrate the zero pressure offset.

PART OF WORKFILE:  No

HOST ISSUES:
  IFssZP 0
        Note:   0 required
GC RETURNS:
  ssIFZP <error_number>, <parameter>
           <error_number>   see CCER for errors
           <parameter>  parameter causing error

HOST ISSUES:
  IFssZP ?
GC RETURNS:
  ssIFZP <pressure_correction>
      <pressure_correction>  offset pressure correction

EXAMPLE:
HOST ISSUES:
 IFssZP 0       the zero parameter is required
GC RETURNS:
 ssIFZP 0,0     command executed without error.

STATUS:
   Complete

-------------------------------------------------------------------------
IFssZF                                                             IFssZF
IBssZF          Inlet Calibration - Set Zero Flow Now              IBssZF
-------------------------------------------------------------------------
FUNCTION:
    This command is used to initiate inlet flow zero calibration.

    The calibration will be performed by an 6890 task. it will take
    about 3 seconds to complete.  After calibration, the instrument will
    go not ready while flows equilibrate.

    The IFssZS should be used to monitor the status and success of
    the calibration operation.

PART OF WORKFILE:  No

HOST ISSUES:
  IFssZF 0
        Note:   0 required
GC RETURNS:
  ssIFZF <error_number>, <parameter>
           <error_number>   see CCER for errors
           <parameter>  parameter causing error

HOST ISSUES:
  IFssZF ?
GC RETURNS:
  ssIFZF <flow_correction>
      <flow_correction>  flow offset correction

EXAMPLE:
HOST ISSUES:
 IFssZF   0        the zero parameter is required
GC RETURNS:
 ssIFZF 0,0    command executed without error.

STATUS:
   Complete


-------------------------------------------------------------------------
IFssZS                                                             IFssZS
IBssZS          Inlet Calibration - Flow Zero Status               IBssZS
-------------------------------------------------------------------------
FUNCTION:
    This command is used to monitor inlet flow zero calibration.

    The calibration will be performed by an 6890 task. It will take
    about 3 seconds to complete.  After calibration, the instrument will
    go not ready while flows equilibrate.

    The IFssZS will return the error (or OK when calib is complete).

PART OF WORKFILE:  No

HOST ISSUES:
 IFssZS   ?        the zero parameter is required
GC RETURNS:
 ssIFZS <error_number>
    <error_number> - see CCER for errors
             0 =  OK - calibration has completed
            54 = calibration in progress

STATUS:
   Complete


-------------------------------------------------------------------------
IFssLP                                                             IFssLP
IBssLP          Calibrate Inlet Pressure                           IBssLP
-------------------------------------------------------------------------
FUNCTION:
    This command is used to calibrate the inlet pressure sensor.
    The slope of the pressure curve is calibrated with this command.

PART OF WORKFILE:  No

HOST ISSUES:
 IFssLP  <measured_pressure>
   <measured_pres> - current measured pressure from external calibrating
                     device.
GC RETURNS:
  ssIFLP <error_number>, <parameter>
           <error_number>   see see CCER for errors
           <parameter>  parameter causing error

 Note: ssIFLP 0,0 indicates command executed without error.


HOST ISSUES:
 IFssLP  ?

GC RETURNS:
  last setting

STATUS:
   Complete

-------------------------------------------------------------------------
IFssLF                                                             IFssLF
IBssLF          Calibrate Inlet Flow                               IBssLF
-------------------------------------------------------------------------
FUNCTION:
    This command is used to calibrate the inlet mass flow sensor.
    The slope of the flow curve is calibrated with this command.

PART OF WORKFILE:  No


HOST ISSUES:
 IFssLF  <measured_flow>
   <measured_flow> - current measured flow from external calibrating
                     device.
GC RETURNS:
  ssIFLF <error_number>, <parameter>
           <error_number>   see CCER for errors
           <parameter>  parameter causing error


HOST ISSUES:
  IFssLF ?
GC RETURNS:
  last setting

STATUS:
   Complete


=========================================================================
IFssLS                                                             IFssLS
IBssLS          Inlet Calibration Status                           IBssLS
-------------------------------------------------------------------------
FUNCTION:
    This command gives information on the current calibration.

PART OF WORKFILE:  No

HOST ISSUES:
 IFssLS

GC RETURNS:
 ssIFLS  <state>,<cal_date>,<pres_offset>,<flow_offset>,
         <cal_pres>,<cal_flow>,<pres_cal_slope>,<flow_cal_slope>

   <state> -  0 = Factory Calib, 1 = User Calib Enabled, 2 = User Calib Disabled
   <cal_date> - date of last calibration of flow slope.
   <pres_cal_offset> - offset of pressure curve.   (pressure units)
   <flow_cal_offset> - offset of flow curve.       (flow units)
   <cal_pres>        - pressure when slope last calibrated  (pressure units)
   <cal_flow>        - flow when slope last calibrated      (flow units)
   <pres_cal_slope>  - percentage change of pressure curve.
   <flow_cal_slope>  - percentage slope of flow curve.

STATUS:
   Complete



=========================================================================
IFssLX                                                             IFssLX
IBssLX          Change Inlet Calibration Status                    IBssLX
-------------------------------------------------------------------------
FUNCTION:
    This command gives/changes information on the current calibration.

PART OF WORKFILE:  No

HOST ISSUES:
 IFssLX <state>
   <state> -  0 = Factory Calib,         (deletes user calib forever)
              1 = User Calib Enabled,    (re-enables a disabled user calib)
              2 = User Calib Disabled    (disables an enabled user calib)

GC RETURNS:
 ssIFLX <error_number>, <parameter>
           <error_number>   see CCER for errors
           <parameter>  parameter causing error

HOST ISSUES:
 IFssLX ?

GC RETURNS:
 ssIFLX  <state>


STATUS:
   Complete



=========================================================================
IFssRC                                                             IFssRC
IBssRC          Inlet Purge Regulator Terms                        IBssRC
-------------------------------------------------------------------------
FUNCTION:
    This command gives information on the septum purge reg. calibration.


PART OF WORKFILE: Yes

HOST ISSUES:
 IFssRC

GC RETURNS:
 ssIFRC  <N2_Flow>,<N2_df/dp>,<H2_Flow>,<H2_df/dp>,<He_Flow>,<He_df/dp>,
         <ArMe_Flow>,<ArMe_df/dp>


 <N2_Flow>    - the maximum value (mL/min NTP) (which occurs at very low
                pressures) for the spr with N2
 <N2_df/dp>   - the change in flow (mL/min NTP) with 1 psi change in inlet
                pres when using N2.

 <H2_Flow>    - the maximum value (mL/min NTP) (which occurs at very low
                pressures) for the spr with H2
 <H2_df/dp>   - the change in flow (mL/min NTP) with 1 psi change in inlet
                pres when using H2.

 <He_Flow>    - the maximum value (mL/min NTP) (which occurs at very low
                pressures) for the spr with He
 <He_df/dp>   - the change in flow (mL/min NTP) with 1 psi change in inlet
                pres when using He.

 <ArMe_Flow>  - the maximum value (mL/min NTP) (which occurs at very low
                pressures) for the spr with ArMe
 <ArMe_df/dp> - the change in flow (mL/min NTP) with 1 psi change in inlet
                pres when using ArMe.




STATUS:
   Complete

=========================================================================
IFssCR                                                             IFssCR
IBssCR          Inlet Cryo Setpoints                               IBssCR
-------------------------------------------------------------------------
FUNCTION:
    This command sets cryo setpoints for an inlet.

PART OF WORKFILE:  Yes

HOST ISSUES:
 IFssCR <cryo_type>,<cryo_on_off>,<quick_cool>,<ambient_temp>,
          <cryo_timeout>,<cryo_timeout_on_off>,<cryo_fault>

  <cryo_type>    - no cryo  = 0, LN2 cryo = 1, LCO2 cryo = 2, compressed air = 3
  <cryo_on_off>  - turn cryo on or off
  <quick_cool>   - turn quick cool on or off
  <ambient_temp> - enter current ambient temp
  <cryo_timeout> - sets time between 5 and 120 minutes.
                   inlet shuts off if no start in this time.
  <cryo_timeout_on_off> - turns timeout on off.
  <cryo_fault>   - turn cryo fault on or off.  Inlet shuts down if temp not
                   reached in 16 min.
GC RETURNS:
  no response

HOST ISSUES:
 IFssCR ?

GC RETURNS:
  returns current settings

NOTE:  possible error code responses
1- <cryo_type>
      reason                                    error code
      ------                                    ----------
      cryo type = NO_CRYO:                      OK
      cryo not installed:                       NOT_ALLOWED
      not a cryo type allowed for this zone:    UNSUPPORTED_CRYO_TYPE
      another zone is using the valve drive:    CRYO_VALVE_CONFLICT
      another zone has a defined cryo type:     OTHER_CRYO_CONFIGURED
      OTHERWISE:                                OK

STATUS:
   Complete



=========================================================================
IFssTW                                                             IFssTW
IBssTW          Custom Inlet Title                                 IBssTW
-------------------------------------------------------------------------

FUNCTION:
    If a custom inlet title is programmed into the 6890, this command
    may be used to read the title. The command will be used in the
    configuration section of the workfile.  The title is programmed
    into the EEPROM and can not be set by this command.

PART OF WORKFILE:  Yes

HOST ISSUES:
 IFssTW ?
GC RETURNS:
 ssIFTW <title_string>
    <title_string> - returns title surrounded by curly brackets.
        Title may contain up to 6 characters. Where each character
        may be any printable 7 bit ASCII character except for
        the double quote, comma, or curly bracket(",{}) characters.
        If no custom title is available the command will return empty
        curly brackets.

EXAMPLE:
  COC front inlet with custom title of BS In and an Split/Splitless
  inlet in back with no custom title:
     IFssTW ?
     ssIFTW {BS In}
     IBssTW ?
     ssIBTW {}

STATUS:
   Part of Seaquest release.
   Coding incomplete.
   Testing incomplete.

/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */
***************************************************************************
***************************************************************************
*  OVEN COMMANDS:                                                         *
***************************************************************************

=========================================================================
OVssTI          Set Oven Temp Immediate                            OVssTI
-------------------------------------------------------------------------
FUNCTION:
   Sets the temperature of the thermal zone immediately and trys to set
   zone ON.
   Outside of run:
      The temperature value set will affect the initial value in the
      workfile.
   During run:
      Changing the zone temperature changes the current setpoint but does
      not affect the initial value in the workfile.
      If the zone was ramping at the time the temp was changed, then
      the ramp will continue from the new set point to the final value
      of that ramp.

PART OF WORKFILE:  No

HOST ISSUES:
 OVssTI <temp>
   <temp> - bring temperature to <temp> immediately
GC RETURNS:
  no response

HOST ISSUES:
 OVssTI ?
GC RETURNS:
  returns current settings

STATUS:
   Complete

=========================================================================
OVssTZ          Set Oven Thermal Zone ON/OFF                       OVssTZ
-------------------------------------------------------------------------
FUNCTION:
    This command turns the the oven on or off.

PART OF WORKFILE:  Yes

HOST ISSUES:
 OVssTZ <on/off>
   <on/off> - set oven zone on or off [1|0]
GC RETURNS:
  no response

HOST ISSUES:
 OVssTZ ?
GC RETURNS:
  returns current settings

STATUS:
   Complete


=========================================================================
OVssTR          Set Oven Temperature Ramp                          OVssTR
-------------------------------------------------------------------------
FUNCTION:
    This command is used to set the oven temperature profile.
    Note, this command does not affect zone ON or OFF state.

PART OF WORKFILE:  Yes

HOST ISSUES:
 OVssTR <init_temp>,<init_time>,
       <rate_1>,<final_temp_1>,<final_time_1>,
       <rate_2>,<final_temp_2>,<final_time_2>,
       ...
       <rate_6>, <final_temp_6>,<final_time_6>

   <init_temp> - initial temperature of a ramp or only temp for non ramped
      oven.
   <init_time> - time at initial temperature
   <rate_1> - rate of temperature rise
   <final_temp_1> - final temperature of reached by ramp 1
   <final_time_1> - time at final temperature of ramp 1
      .
      .
      .
GC RETURNS:
  no response

HOST ISSUES:
 OVssTR ?
GC RETURNS:
  returns current settings

STATUS:
   Complete

=========================================================================
OVssCR          Cryo Setpoints                                     OVssCR
-------------------------------------------------------------------------
FUNCTION:
    This command sets cryo setpoints.

PART OF WORKFILE:  Yes

HOST ISSUES:
 OVssCR <cryo>,<quick_cool>,<ambient_temp>,
          <cryo_timeout>,<cryo_timeout_onoff>,<cryo_fault>
   <cryo> - turn cryo on or off
   <quick_cool> - turn quick cool on or off
   <ambient_temp> - enter current ambient temp
   <cryo_timeout> - sets time between 5 and 120 minutes.
                    Oven shuts off if no start in this time.
   <cryo_timeout_onoff> - turns timeout on off.
   <cryo_fault> - turn cryo fault on or off.  Oven shuts down if temp not
                  reached in 16 min.
GC RETURNS:
  no response

HOST ISSUES:
 OVssCR ?
GC RETURNS:
  returns current settings

STATUS:
   Complete


=========================================================================
OVssSP          Oven Miscellaneous Setpoints                       OVssSP
-------------------------------------------------------------------------
FUNCTION:
    This command sets oven equib time.

PART OF WORKFILE:  Yes

HOST ISSUES:
 OVssSP <equib_time>
   <equib_time> - oven equib time

GC RETURNS:
  no response

HOST ISSUES:
 OVssSP ?
GC RETURNS:
  returns current settings

STATUS:
   Complete

=========================================================================
OVssCF          Oven Configuration                                 OVssCF
-------------------------------------------------------------------------
FUNCTION:
    This command configures the oven.

PART OF WORKFILE:  No

HOST ISSUES:
 OVssCF <max_temp>
   <max_temp> - maximum oven temperature.
            <max_temp> is a non method configuration parameter.

GC RETURNS:
  no response

HOST ISSUES:
 OVssCF ?
GC RETURNS:
  returns current settings

COMMENTS:
  This command clamps any existing oven ramp setpoints higher than the new
  oven <max_temp> to the new oven <max_temp>.

STATUS:
   Complete

=========================================================================
OVssTP          Set Oven Type                                      OVssTP
-------------------------------------------------------------------------
FUNCTION:
   Sets the oven type to fast or regular ramping speed. A fast oven has
   higher wattage than a regular oven.

PART OF WORKFILE:  No

HOST ISSUES:
 OVssTP <oven_type>
   <oven_type> - FAST_OVEN = 0, REG_OVEN = 1

GC RETURNS:
  no response

HOST ISSUES:
 OVssTP ?

GC RETURNS:
  returns current setting

STATUS:
   Complete

=========================================================================
OVssST          Oven Status                                        OVssST
-------------------------------------------------------------------------
FUNCTION:
    Returns the status, current setpoint and actual temperature
    of the oven.

PART OF WORKFILE:  No

HOST ISSUES:
 OVssST

GC RETURNS:
 ssOVST <oven_status>,<setpnt_temp>,<act_temp>
   <oven_status> - bit-field status of oven with the following format:

      bit 7: thermal_fault        (Non-fatal error)
      bit 6: hydrogen_shutdown    (Non-fatal error)

      bit 5: flow_shutdown        (oven shutdown due to column flow shutdown)
      bit 4: cryo_scram_active    (oven shutdown due to cryo)
      bit 3: oven_scram_active    (oven shutdown: requires more power than
                                   expected)

      bit 2: oven_hold_off        (power-fail recovery and method load)

      bit 1: oven_door_open       (oven door is open)

      bit 0:  oven_at_max_power   (oven at full power)

         Non-fatal errors: These are pretty serious, and you cannot turn
            the oven on until they are clear.  A thermal fault can only be
            cleared by power-cycling the instrument.  A hydrogen shutdown is
            cleared by changing the setpoint of the cause of the shutdown.

         Shutdowns: These are causing the oven to be off, required a setpt
            change of on, off or immediate temperature to clear.

         Power-fail recovery and method load: Cause the oven to be off until
            the core instrument is ready (flows, temps, and det control)

         Oven door is open: will automatically turn on when it is closed (if
            setpt is on)

         Oven at full power: oven is operating at full power.  This is used to
            blink the rate LED on the GC front panel if the oven is in a ramp

   <setpnt_temp> - current temperature setpoint of oven.
   <act_temp> - actual current temperature of oven.

STATUS:
   Complete



=========================================================================
OVssCL          Oven Calibration                                   OVssCL
-------------------------------------------------------------------------
FUNCTION:
    Used to calibrate the oven temperature.

PART OF WORKFILE:  No

HOST ISSUES:
 OVssCL <measured_temp>
   <measured_temp> - current measured temperature from external calibrating
                     device in units of 1/100ths of a degree C.
GC RETURNS:
  no response

STATUS:
   Complete

=========================================================================
OVssLS          Oven Calibration Status                            OVssLS
-------------------------------------------------------------------------
FUNCTION:
    Returns the calibration status for the oven.

PART OF WORKFILE:  No

HOST ISSUES:
 OVssLS

GC RETURNS:
 ssOVLS <current_delta>,<calib_date>
   <current_delta> - difference between actual and reading in 1/100ths of a
                     degree C.
   <calib_date> - date-time of last calibration in seconds since 1980.

STATUS:
   Complete


=========================================================================
OVssZW                OVEN thermal config  (  EOS  )               OVssZW
-------------------------------------------------------------------------


/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */
***************************************************************************
***************************************************************************
*  SIGNAL PATH COMMANDS:                                                  *
***************************************************************************

=========================================================================
S1ssST                                                             S1ssST
S2ssST          Query Signal Status                                S2ssST
-------------------------------------------------------------------------

FUNCTION:
   Returns the Signal status for the specified signal.

PART OF WORKFILE:  No

HOST ISSUES:
   S1ssST
GC RETURNS:
   ssS1ST <acquisition on/off>,<buffer_status>,<points_remaining>
      <acquisition_on/off>=1|0
          0 = Acq OFF
          1 = Acq ON
      <buffer status>=[0..9]
          0 = No Error
          1 = Buffer Overflow
      <points_remaining>=[0..Max Buffer Size] number of data points
          stored in instruments buffer
EXAMPLES:
   Read the status for signal two:
   HOST:
        S2ssST
   GC:
        ssS2ST 1,0,3264

STATUS:
   Complete


=========================================================================
S1ssCS                                                             S1ssCS
S2ssCS          Configure Signal Path                              S2ssCS
-------------------------------------------------------------------------

FUNCTION:
   This command will configure the signal path for the specified
      signal.

PART OF WORKFILE:  Yes

HOST ISSUES:
   S1ssCS <signal_definition>
      <signal_definition>=<signal>|<memory_location>
         <signal> = [A0..A255] See Additional Information below for
               complete signal definition.
                  A0 - front detector
                  A1 - back detector
                  A2 - front detector - back detector
                  A3 - back detector - front detector
                  A4 - column comp 1
                  A5 - column comp 2
                  A6 - front - column comp 1
                  A7 - back - column comp 1
                  A8 - front - column comp 2
                  A9 - back - column comp 2
                  A10 - test plot
                  A11 - test signal
                  A12 - oven temperature
                  A13 - front detector temperature
                  A14 - back detector temperature
                  A15 - front inlet temperature
                  A16 - back inlet temperature
                  A17 - aux 1 temperature
                  A18 - aux 2 temperature
                  A19 - column 1 flow
                  A20 - column 2 flow
                   ...

      <memory_location> = <object_size>|<memory_addr>
      <object_size> = [B|O|W|U|L] all readings will be sign
                           extended to 32 bits.
            B = (byte) return contents of a signed 8 bit location
            O = (Octet) return contents of a unsigned 8 bit
               location
            W = (word) return contents of a signed 16 bit location
            U = (unsigned word) return contents of a unsigned 16
               bit location
            L = (long) return contents of a 32 bit location
      <memory_addr> = memory location to be displayed (given in hexadecimal.)

GC RETURNS:
   no response

DEFAULTS:
   If there is a front detector, S1 will default to front, otherwise
   it will default to back.  If there is neither a front or back
   detector, S1 will default to test plot
   If there is a back detector, S2 will default to back, otherwise it
   will default to front.  If there is neither a front or back
   detector, S2 will default to test plot

EXAMPLES:
   Read the current signal path definition for signal 1:
   HOST:
        S1ssCS ?
   GC:
        ssS1CS A1
   Set signal 1 to test plot:
   HOST:
        S1ssCS A10
   GC
        no response
   Set signal 1 to the unsigned word memory at location 32846:
   HOST:
        S1ssCS U32846
   GC
        no response


ADDITIONAL INFORMATION:
   The actual signal definitions from sig_types.h are given below.

                  -------------------------
                   Signal Type Definitions
                  -------------------------

           Detector Type Signal Definitions
           --------------------------------
Signal                                              Decimal       Scale
Number          Type                     Units      Significance  Factor
------          ----                     ----       ------------  ------
   0   front detector                    det units  XXXXXXX.X     32*240
   1   back detector                     det units  XXXXXXX.X     32*240
   2   front detector - back detector    det units  XXXXXXX.X     32*240
   3   back detector - front detector    det units  XXXXXXX.X     32*240
   4   column comp 1 profile             det units  XXXXXXX.X     32*240
   5   column comp 2 profile             det units  XXXXXXX.X     32*240
   6   front - column comp 1 profile     det units  XXXXXXX.X     32*240
   7   back - column comp 1 profile      det units  XXXXXXX.X     32*240
   8   front - column comp 2 profile     det units  XXXXXXX.X     32*240
   9   back - column comp 2 profile      det units  XXXXXXX.X     32*240
  10   Test Plot                         det units  XXXXXXX.X     32*240
  11   Ramp signal                       arbs       XXXXXXX.X     32*240

           Alternate Signals Type Definitions
           ----------------------------------

Signal                                           Decimal       Scale
Number          Type                     Units   Significance  Factor
------          ----                     ----    ------------  ------
  12   oven temperature                  deg C       XXX.X     32*240
  13   front detector temperature        deg C       XXX.X     32*240
  14   back detector temperature         deg C       XXX.X     32*240
  15   front inlet temperature           deg C       XXX.X     32*240
  16   back inlet temperature            deg C       XXX.X     32*240
  17   auxiliary #1 temperature          deg C       XXX.X     32*240
  18   auxiliary #2 temperature          deg C       XXX.X     32*240

  19   column 1 volumetric flow          ml/min      XXX.X     32*240
  20   column 2 volumetric flow          ml/min      XXX.X     32*240
  21   column 1 head pressure            pres units  see <pres units> note
  22   column 2 head pressure            pres units  see <pres units> note
  23   front inlet filtered current
                        total flow       ml/min      XXX.X     32*240
  24   back inlet filtered current
                        total flow       ml/min      XXX.X     32*240
  25   front inlet filtered current
                        pressure         pres units  see <pres units> note
  26   back inlet filtered current
                        pressure         pres units  see <pres units> note
  27   front det gas 1 pressure          pres units  see <pres units> note
  28   front det gas 2 pressure          pres units  see <pres units> note
  29   front det gas 3 pressure          pres units  see <pres units> note
  30   back det gas 1 pressure           pres units  see <pres units> note
  31   back det gas 2 pressure           pres units  see <pres units> note
  32   back det gas 3 pressure           pres units  see <pres units> note
  33   front det gas 1 flow              ml/min      XXX.X     32*240
  34   front det gas 2 flow              ml/min      XXX.X     32*240
  35   front det gas 3 flow              ml/min      XXX.X     32*240
  36   back det gas 1 flow               ml/min      XXX.X     32*240
  37   back det gas 2 flow               ml/min      XXX.X     32*240
  38   back det gas 3 flow               ml/min      XXX.X     32*240
  39   aux #3 filtered current pressure  pres units  see <pres units> note
  40   aux #4 filtered current pressure  pres units  see <pres units> note
  41   aux #5 filtered current pressure  pres units  see <pres units> note

  42   mux'ed adc offset                 volts      X.XXXX     32*240000

  43  filtered rtd reading for the oven  volts      X.XXXX     32*240000
  44  filtered rtd reading for frnt det  volts      X.XXXX     32*240000
  45  filtered rtd reading for back det  volts      X.XXXX     32*240000
  46  filtered rtd reading for frnt inl  volts      X.XXXX     32*240000
  47  filtered rtd reading for back inl  volts      X.XXXX     32*240000
  48  filtered rtd reading for aux #1    volts      X.XXXX     32*240000
  49  filtered rtd reading for aux #2    volts      X.XXXX     32*240000

  58  front detector Vout 1 diagnostic   volts      X.XXXX     32*240000
  59  front detector Vout 2 diagnostic   volts      X.XXXX     32*240000
  60  back detector Vout 1 diagnostic    volts      X.XXXX     32*240000
  61  back detector Vout 2 diagnostic    volts      X.XXXX     32*240000

  62  atmospheric pressure               psi         XXX.X     32*240
  63  front inlet pneumatics module temp deg K       XXX.X     32*240
  64  back inlet pneumatics module temp  deg K       XXX.X     32*240
  65  front det pneumatics module temp   deg K       XXX.X     32*240
  66  back det pneumatics module temp    deg K       XXX.X     32*240
  67  auxiliary pneumatics module temp   deg K       XXX.X     32*240
  68  pneumatics 10V ref voltage         volts       XXX.X     32*240
  69  pneumatics adc offset signal       volts       XXX.X     32*240
  70  front inlet gas sense voltage      volts       XXX.X     32*240
  71  back inlet gas sense voltage       volts       XXX.X     32*240

NOTE:  <det units>-  the units for the detector are dependent upon the type of
                     detector installed (see S1ssSF for obtaining the units)


   Unscaled Signals  (scale factor = 32)
   -------------------------------------

Signal
Number          Type
------          ----
 100   individual readings from mux adc  (see NOTE below)
 101   noise of selected adc channel  (see NOTE below)
 102   noise for the mux'ed adc offset

 103   line power input sense

 104   front detector 1st order rdg signal
 105   back detector 1st order rdg signal
 106   front detector 2nd order rdg signal
 107   back detector 2nd order rdg signal
 108   front detector data
 109   back detector data
 110   front detector offset reading
 111   back detector offset reading

NOTE:  To set the mux adc channel address use command DTssAD.


STATUS:
   Complete


=========================================================================
S1ssCD                                                             S1ssCD
S2ssCD          Configure Digital Signal Path                      S2ssCD
-------------------------------------------------------------------------
FUNCTION:
   This command will configure the digital signal path for the
   specified signal.

PART OF WORKFILE:  No

HOST ISSUES:
S1ssCD <rate>,<acq mode>,<format>
   <rate>=[.1 ... 500]
      GC will pick the closest data rate which is equal to or
      higher then the specified rate.  The following data rates
      will be supported:
      0.1|0.2|0.5|1|2|5|10|20|50|100|200|500.  Note, leading zeros are
      optional when setting data rates less than 1. One of the
      following values will be returned when reading the current
      data rate setting:
            0.1|0.2|0.5|1.0|2.0|5.0|10.0|20.0|50.0|100.0|200.0|500.0.
      NOTE: The 500.0 value is only valid for Rev. N.04.09 or later versions
            and Special version S.01.16.

   <acq mode>=RUN|CON|SGL
      RUN = (run) if this mode is set, the GC will start acquiring data at
         start of run and stop at end of run.  Note, the SR and SP
         commands will still be operative in this mode and may
         override its effect.  May be abbreviated to R
      CON = (continuous) in this mode data acquisition will begin
         immediately on receiving the start data acq command (S1 SR)
         and stop with the stop acquisition command(S1 SP).  The GC
         run state has no effect on data acquisition.  May be
         abbreviated to C.
      SGL = (single run) in this mode the GC will reset the buffer and start
         data acquisition at start of run and stop acquisition at the
         end of run.  In this mode only one run of data will be in the
         buffer.

   <format>=DEC|HEX|BIN|CMP
      DEC = data will be sent in decimal ASCII format separated by
         commas.  May be abbreviated to D.
      HEX = data will be sent in hex ASCII format. Each binary
         byte will be transmitted as two hex characters.  There
         will be 12 bytes per data point with no separator.  May be
         abbreviated to H.
      BIN = data will be sent in binary format. There is 6 bytes
         per data point and no separator.  May be abbreviated to B.
      CMP = data will be sent in compressed hexadecimal format. The
         compression will attempt to compress the data into 2 binary
         bytes using second order differential modulation.  If the data
         can not be compressed to 2 bytes a two byte flag is used
         followed by the full 6 byte point. This is then converted
         to hex which sends 4 bytes for compressed mode and 16 bytes
         for full data points.  No separator will be used between
         points. See the COMMENT section of the RD command for more
         details. CMP may be abbreviated to C.

     To summarize the available formats:

       =====================================================
       | Encoding:  |         Presentation:                |
       |            |                                      |
       |            | Decimal    | Hex-Ascii  | Binary     |
       |============|======================================|
       |            |            |            |            |
       |    none    | Format=DEC | Format=HEX | Format=BIN |
       |            |            |            |            |
       |------------|--------------------------------------|
       |            |    not     |            |    not     |
       | Compressed | available  | Format=CMP | available  |
       |            |            |            |            |
       =====================================================

GC RETURNS:
   No response
DEFAULTS:
   S1ssCD 20,CON,BIN
   S2ssCD 20,CON,BIN
EXAMPLES:
   Read the current digital path definition for signal 1:
   HOST:
        S1ssCD ?
   GC:
        ssS1CD 20.0,CON,BIN
   Set the data rate for signal 1 to 200 Hz without changing other
   parameters:
HOST:
        S1ssCD 200
GC
        no response
COMMENTS:
   1) This command will be ignored if data acquisition is in
      progress.
STATUS:

      Restricting the command so it may be used only during data
      acquisition OFF is not complete.
   Testing incomplete



=========================================================================

                          Analog Signal Path
-------------------------------------------------------------------------



 +------+    +-----+    +------+         +----------+
 |Raw   |    |     |    |      |         |Fast Peaks|        Data
 |Analog|--->|Zero |--->|Range |--+----->| ON - 30Hz|------> System
 |Signal|    |     |    |      |  |      | OFF - 3Hx|        Analog
 +------+    +-----+    +------+  |      +----------+        Out
                                  |
                                  |
                                  |  +-----+   +------+   +------+
                                  |  |Strip|   |Strip |   | 3 Hz |    Strip
                                  +->|Chart|-->|Chart |-->|Filter|--> Chart
                                     |OnOff|   |Attn  |   |      |    Analog
                                     +-----+   +------+   +------+    Out


=========================================================================
S1ssCA                                                             S1ssCA
S2ssCA          Configure Analog Signal Path                       S2ssCA
-------------------------------------------------------------------------
FUNCTION:
   This command will configure the analog signal path for the
   specified signal, including both the Data System analog signal
   and the Strip Chart analog signal.

PART OF WORKFILE:  YES

HOST ISSUES:
   S1ssCA <analog_range>,<fast_peaks_on_off>,<strip_chart_attenuation>
      <analog_range>=[0..13]
      <fast_peaks_on_off> [0|1] sets the data system bandwidth to 3 or 30 hz.
         0 - OFF
         1 - ON
      <strip_chart_attenuation>=[0..10]
GC RETURNS:
   No response

DEFAULTS:
   S1CA 5,0,0
   S2CA 5,0,0
EXAMPLES:
   Read the current analog path definition for signal one:
   HOST:
        S1ssCA ?
   GC:
        ssS1 CA 02,0,08
   Set the bandwidth to 30 for the Data System analog output of
   Signal 1 without changing other parameters
   HOST:
        S1ssCA ,1,
   GC
        no response
COMMENTS:
   1) Another command (ZA) is needed to set the zero offset for the
       analog output.
   2) With Analog Range of 0 (20) and Strip Chart attenuation of 0 (20),
       1 mv output should correspond to 1.0 p amp.
STATUS:
   Complete


=========================================================================
S1ssZA                                                             S1ssZA
S2ssZA          Zero Analog Output                                 S2ssZA
-------------------------------------------------------------------------
FUNCTION:
   This command sets the zero ON or OFF and sets the value for the offset
   for the analog output signals.  The offset is given in counts divided
   by 32, not display units.  (See S1ssCS for definition of counts.)

PART OF WORKFILE:  Yes

SYNTAX:
HOST ISSUES:
   S1ssZA <zero_on_off>,<zero_offset>
     <zero_on_off> -
             0 - OFF offset = 0.0
             1 - ON offset = apply <zero_offset>

     <zero_offset> - value for offset

GC RETURNS:
   no response

HOST ISSUES:
   S1ssZA ?

GC RETURNS:
   current settings

DEFAULTS:
   none

STATUS:
   Complete



=========================================================================
S1ssRD                                                             S1ssRD
S2ssRD          Read Signal Data                                   S2ssRD
-------------------------------------------------------------------------
FUNCTION:
   This command reads a data message from one of the signal channels.
   The user specifies the number of points or words (CMP mode) to be
   returned.  GC will respond immediately with the number of
   points/words available up to the number requested.

PART OF WORKFILE:  No

HOST ISSUES:
S1ssRD <req_data_items>
   <req_data_items> = in CMP mode this is the number of four byte words.
   In all other modes it is the number of data points requested.

   The maximum number of data items that can be sent in one
   transmission is dependent on the format, such that the
   maximum message size is 1024 bytes.
   Decimal Mode:
      [1..137]
   Binary Mode:
      [1..166]
   Hex Mode:
      [1..81]
   Compress Mode:
      [8..240]

GC RETURNS:
   Decimal (DEC) Mode:
      ssS1RD <status>,<points_remaining>,<data_point_count>,
            <start_position>,<start_delta>,<data>
   Binary (BIN) and Hex (HEX) and Compress (CMP) modes:
         The response in HEX mode is derived from the BIN mode response.
         In HEX mode, all bytes after RD are converted to hexadecimal ASCII.
         The CMP response is identical to HEX up to the <data> part of the
         response, which is in compressed hex format.
      ssS1RD<status><points_remaining><data_point_count><start_ position>
           <start_delta><data>

         <status>
            Decimal Mode:
               [00..65535]
            Binary Mode:
               2 byte
            Hex Mode:
               4 bytes
            Compress Mode:
               4 byte
            bit map for status:
               bit 0: Start coincides with a point within this data
                     message.
               bit 1: Stop coincides with the last point in this data
                  message.  Note, a message will be terminated when a
                  stop event is contained, so stop always corresponds
                  to the last valid point.  It is possible to get a
                  stop indication with no data points, which indicates
                  that the last data point of the last RD command was the
                  last point in the run.
               bit 2: A Start and a Stop occurred with no data points.
                  This may occur if someone rapidly hits the start and
                  then the stop button.  If the data rate is low enough
                  that no data was sampled, this bit will be set. The
                  Start/Stop condition coincides with the last point
                  in this data message.  Note, a message will be
                  terminated when a start/stop event is contained, so as
                  in the stop command, the start/stop always corresponds
                  to the last valid point.  It is possible to get a
                  start/stop indication with no data points, which indicates
                  that the last data point of the last RD command was the
                  last point in the run.
                  NOTE: this condition can not occur for data rates of
                  10 Hz or greater, since the run length can not be less
                  than 100 ms.
               bit 3: Data Acquisition On
                   0 = OFF
                   1 = ON
               bits 4,5,6: Run State
                   0 = Idle
                   1 = Pre Run
                   2 = Run Active
                   3 = Post Run
               bit 7: SCC Active
                   0 = SCC Inactive
                   1 = SCC Active
               bit 8,9: GC readiness - this is the same as <gc_readiness> in GCRY
                   0 = not ready
                   1 = ready
                   2 = don't know
               bit 10: Parameter Modified - 6890 setpoint or configuration parameter
                      changed (bit 3 of CCPM command).
               bit 11: Buffer Overflow
               bit 12 - 15: reserved

         <points_remaining> = gives the number of data points
            remaining in the instrument's buffer after this read.  This is
            ONLY intended to give the workstation an indication of when it
            is falling behind. It is not intended to be an exact count.
            Decimal Mode:
               [00..4294967295]
            Binary Mode:
               4 bytes
            Hex
               8 bytes
            Compress Mode:
               8 bytes

         <data_point_count> = for all modes this gives the number of points in
            the <data> message.

            Decimal Mode:
               Up to 3 digits
            Binary Mode:
               2 bytes
            Hex
               4 bytes
            Compress Mode:
               4 bytes


         <start_position> = location of start within data.  Set to 0
            if no start is in the data.  Since the first point of the run
            is a full point this will point to the flag of the full point.

            Decimal Mode:
               Up to 3 digits
            Binary Mode:
               2 bytes
            Hex Mode:
               4 bytes
            Compress Mode:
                bytes

         <start delta> = the time from start to the first data point
            of the run.  The <start delta> is given in microseconds.
            Decimal Mode:
               Up to 10 digits
            Binary Mode:
               4 bytes
            Hex Mode:
               8 bytes
            Compress Mode:
               8 bytes

         <data> = signal reading.
            In decimal mode, points are separated by commas.  In the binary
            or hex or compress modes there are no separators.  The following
            gives the possible sizes for a data point:
            Decimal Mode:
               [-68719476735..68719476735]
            Binary Mode:
               6 bytes
            Hex Mode:
               12 bytes.
            Compress Mode:
               4 byte for compressed point or 16 bytes for full point


SUMMARY: for CMP or HEX modes

         BYTE DEFINITION FOR DATA HEADER WITH COMPRESSED AND HEX MODES
         -------------------------------------------------------------
          | | | | || | | | | |1|1|1||1|1|1|1||1|1|1|2||2|2|2|2|2|2|2|2|
          |1|2|3|4||5|6|7|8|9|0|1|2||3|4|5|6||7|8|9|0||1|2|3|4|5|6|7|8|
           S S S S  R R R R R R R R  C C C C  P P P P  D D D D D D D D
           ^ ^ ^ ^  ^ ^ ^ ^ ^ ^ ^ ^  ^ ^ ^ ^  ^ ^ ^ ^  ^ ^ ^ ^ ^ ^ ^ ^
           | | | |  | | | | | | | |  | | | |  | | | |  | | | | | | | |
           | | | |  | | | | | | | |  | | | |  | | | |  | | | | | | | |
   Status -+ + + +  | | | | | | | |  | | | |  | | | |  | | | | | | | |
                    | | | | | | | |  | | | |  | | | |  | | | | | | | |
   Pnts Remaining --+ + + + + + + +  | | | |  | | | |  | | | | | | | |
                                     | | | |  | | | |  | | | | | | | |
   Point Count ----------------------+ + + +  | | | |  | | | | | | | |
                                              | | | |  | | | | | | | |
   Start Position ----------------------------+ + + +  | | | | | | | |
                                                       | | | | | | | |
   Start Delta ----------------------------------------+ + + + + + + +


        STATUS FIELD BIT DEFINITION
        ---------------------------
     |1|1|1|1||1|1| | || | | | || | | | |
     |5|4|3|2||1|0|9|8||7|6|5|4||3|2|1|0|
      ^ ^ ^ ^  ^ ^ ^ ^  ^ ^ ^ ^  ^ ^ ^ ^
      | | | |  | | | |  | | | |  | | | |
      | | | |  | | | |  | | | |  | | | +--- Start in message
      | | | |  | | | |  | | | |  | | +----- Stop at last point
      | | | |  | | | |  | | | |  | +------- Start and Stop with no data
      | | | |  | | | |  | | | |  +--------- Data Acquisition On
      | | | |  | | | |  | | | |
      | | | |  | | | |  | | | +------------ Run State
      | | | |  | | | |  | | +-------------- Run State
      | | | |  | | | |  | +---------------- Run State
      | | | |  | | | |  +------------------ Scc Active
      | | | |  | | | |
      | | | |  | | | +--------------------- GC Readiness
      | | | |  | | +----------------------- GC Readiness
      | | | |  | +------------------------- GC Parameter modified
      | | | |  +--------------------------- Buffer Overflow
      | | | |
      | | | +------------------------------ Reserved
      | | +-------------------------------- Reserved
      | +---------------------------------- Reserved
      +------------------------------------ Reserved


EXAMPLES: using DEC mode
   Read a data message from signal 2, where 15 points were requested and a
   start occurred at point 2 and the stop at point 9:
   Host:
        S2ssRD 15
   GC:
        ssS2RD 179,12,9,2,395324,1346,1350,1352,1355,1358,1357,1356,
            1352,1349

COMMENT:
   CMP MODE DEFINITION:

   Note, the data is sent in hexadecimal ASCII format, so it must first
   be converted to binary.  The following assumes the data has been
   converted to binary format.

   Periodically, a full data point is inserted to resync everyone.
   There will never be more than 2000 points of compressed data sent
   without a full point inserted.

   The compression scheme used is second order differential modulation.
   If possible, the data point is compressed to two bytes per data point.
   If a point can not be packed into 2 bytes, a 2 byte flag plus the 6 byte
   full data point is given.  The previous variables are initialized when
   ever a full data point is needed.  Also, the first point of a run will
   always be sent as a full point.

   Since this is Hex format there is 4 bytes per compressed point and
   16 bytes per full point.

   VARIABLES:

      D  = first order differential using current point
      D' = first order differential for last point
      P  = current data point
      P' = last data point
      DD = second order differential for current data point
      FULL_POINT_FLAG = 0x7FFF

   COMPRESSION ALGORITHM (used within the GC):

      Initialize:
           P' = 0
           D' = 0
      Calculation:
           D = P - P'
           DD = D - D'
           if (DD < 0x7FFF) && (DD >= 0x8000)
              D' = D
              P' = P
              send compressed data (DD)
           else
              send FULL_POINT_FLAG plus point (P)
              D' = 0
              P' = P

   UNCOMPRESSION ALGORITHM (may be used by the host system):
      Initialize:
           P' = 0
           D' = 0
      Calculation:
           read DD
           if (DD != FULL_POINT_FLAG)
              D  = DD + D'
              P  = D  + P'
              D' = D
              P' = P
           else
              P = next six bytes
              D' = 0
              P' = P
           use P as the six byte data point

   Note, turning acquisition OFF then ON does not reset the variables
   used during compress mode.  To reset the variables use the signal
   reset command (S1ssRS or SSssRS .)


STATUS:
   Complete


=========================================================================
S1ssSR                                                             S1ssSR
S2ssSR          Start Data Acquisition                             S2ssSR
-------------------------------------------------------------------------
FUNCTION:
   This command starts data collection for the specified signal of
   the GC.

PART OF WORKFILE:  No

HOST ISSUES:
   S1ssSR

GC RETURNS:
   no response

EXAMPLES:
   Start data collection on signal 2:
   HOST:
        S2ssSR
   GC:
        no response
STATUS:
   Complete


=========================================================================
S1ssSP                                                             S1ssSP
S2ssSP          Stop Data Acquisition                              S2ssSP
-------------------------------------------------------------------------
FUNCTION:
   This command stops data collection for the specified signal of the GC.

PART OF WORKFILE:  No

HOST ISSUES:
   S1ssSP
GC RETURNS:
   no response
EXAMPLES:
   Stop data collection on signal 2:
   HOST:
        S2ssSP
   GC:
        no response
STATUS:
   Complete

=========================================================================
S1ssRS                                                             S1ssRS
S2ssRS          Reset Signal                                       S2ssRS
-------------------------------------------------------------------------
FUNCTION:
   This command resets the specified signal channel by stopping data
   acquisition and clearing the data buffer.

PART OF WORKFILE:  No

HOST ISSUES:
   S1ssRS
GC RETURNS:
   no response
EXAMPLES:
   Reset Signal 1:
   HOST:
        S1ssRS
   GC:
        no response
STATUS:
   Complete


=========================================================================
S1ssSF                                                             S1ssSF
S2ssSF          Report Signal Scaling Information                  S2ssSF
-------------------------------------------------------------------------

FUNCTION:
   Returns the signal scaling factor to convert into meaningful units,
units label, and number of significant digits past the decimal point.

PART OF WORKFILE:  No

HOST ISSUES:
   S1ssSF
   S2ssSF
GC RETURNS:
   ssS1SF <scale_factor_multiplier>,<scale_factor_divisor>,
          <significant_digits>,<units_label>

      <scale_factor_multiplier> = integer with which to multiply the signal
      <scale_factor_divisor>    = integer with which to divide the signal
      <significant_digits>      = number of significant digits past the
                                  decimal point
      <units_label>             = ASCII character label for signal units
                                  (size <= 20 characters)

EXAMPLE:
   Read the status for signal two, currently assigned to the front flame
ionization detector:

   HOST:
        S2ssSF
   GC:
        ssS2SF 1,7680,1,pA

Thus to convert the signal into pA's you would multiply the signal by 1 and
divide by 7680, keeping one digit past the decimal point.  For example, a
signal of 7680 would be displayed as: 1.0 pA.

STATUS:
   Complete



=========================================================================
SSssSR          Start Data Acquisition                             SSssSR
-------------------------------------------------------------------------
FUNCTION:
   This command starts synchronous data collection on both signal
   paths.
   Note: Since the order of execution between S1, S2 and SS commands are
   not guaranteed, use S1 and S2 commands or use SS commands for
   starting acquisition ,stopping acquisition and resetting the data buffer.
   Do not mix SS commands with S1 and S2 commands for these actions.
   For example S1ssSP SSssSR may be executed as SSssSR S1ssSP.

PART OF WORKFILE:  No

HOST ISSUES:
SSssSR

GC RETURNS:
   no response
EXAMPLES:
   Start data collection on both signal 1 and signal 2:
   HOST:
        SSssSR
   GC:
        no response
STATUS:
   Complete


=========================================================================
SSssSP          Stop Data Acquisition                              SSssSP
-------------------------------------------------------------------------
FUNCTION:
   This command stops data collection both signal 1 and signal 2.
   Note: Since the order of execution between S1, S2 and SS commands are
   not guaranteed, use S1 and S2 commands or use SS commands for
   starting acquisition ,stopping acquisition and resetting the data buffer.
   Do not mix SS commands with S1 and S2 commands for these actions.
   For example S1ssSP SSssSR may be executed as SSssSR S1ssSP.

PART OF WORKFILE:  No

HOST ISSUES:
   SSssSP
GC RETURNS:
   no response
EXAMPLES:
   Stop data collection on both signal 1 and signal 2:
   HOST:
        SGssSP
   GC:
        no response
STATUS:
   Complete


=========================================================================
SSssRS          Reset Signal                                       SSssRS
-------------------------------------------------------------------------
FUNCTION:
   This command resets both signal channels by stopping data
   acquisition and clearing the data buffer.
   Note: Since the order of execution between S1, S2 and SS commands are
   not guaranteed, use S1 and S2 commands or use SS commands for
   starting acquisition ,stopping acquisition and resetting the data buffer.
   Do not mix SS commands with S1 and S2 commands for these actions.
   For example S1ssSP SSssSR may be executed as SSssSR S1ssSP.

PART OF WORKFILE:  No

HOST ISSUES:
   SSssRS
GC RETURNS:
   no response
DEFAULTS:
        None
EXAMPLES:
   Reset both signals:
   HOST:
        SSssRS
   GC:
        no response
STATUS:
   Complete



=========================================================================
SSssDT          Digital Signal Path Test Mode                      SSssDT
-------------------------------------------------------------------------
FUNCTION:
   This command is used to put IQ's digital data path in a special mode
   which should only be used for testing.  The data will form a triangular
   wave form starting at 0 and goes to the largest positive number without
   exceeding Max_Positive.  Then it ramps down to the most negative
   number without exceeding the Max_Negative number. The amount the
   signal is increased or decreased between is Increment_Value.
   Any of the signal reset commands will put IQ back into the normal
   data mode.
   SSssDT will put both channels into the test mode, and resetting either
   channel will take both channels out of test mode.

        Max_Positive
                                /\          /\
                               /  \        /  \
                        0     /    \      /    \
                                    \    /      \
                                     \  /        \
                                      \/          \/
       Max_Negative


     Max_Positive =  68,719,476,735  (0x000FFFFFFFFF)
     Max_Negative = -68,719,476,640  (0xFFF000000060)

     Increment_Value changes for each point in the below rotation.
     (actually formed by shifting previous Increment_Value by 3 bits)
        Increment_Value[0]  = 2,004,137       (0x1E94A9)
        Increment_Value[1]  =    250517       (0x3D295)
        Increment_Value[2]  =     31314       (0x7A52)
        Increment_Value[3]  =      3914       (0xF4A)
        Increment_Value[4]  =       489       (0x1E9)
        Increment_Value[5]  =        61       (0xED)
        Increment_Value[6]  =         7       (0x7)

     There is a total of 840,057 points in one complete cycle.

PART OF WORKFILE:  No

HOST ISSUES:
SSssDT

IQ RETURNS:
   No response

EXAMPLE:  To set IQ in Digital Data Path Test Mode and collect
   data from signal 1 at 20 hz and signal 2 at 100 hz.

HOST ISSUES:
   S1ssCD 20,CON,DEC
   S2ssCD 100,CON,DEC
   S1ssRS;S2ssRS  (or SSssRS)
   SSssDT
   S1ssSR;S2ssSR  (or SSssSR)
   S1ssRD 6

IQ RETURNS:
  xxS1RD 8,82,6,0,0,0,2004137,2254654,2285968,2289882,2290371

HOST ISSUES:
  S2ssRD 6

IQ RETURNS:
  xxS1RD 8,82,6,0,0,0,2004137,2254654,2285968,2289882,2290371
  .
  .
  .
  S1ssSP;S2ssSP  (or SSssSP)

  To restart signal at beginning again:

  SSssDT
  S1ssSR;S2ssSR  (or SSssSR)
  S1ssRD 30
  S2ssRD 30

COMMENTS:

STATUS:
      This command was originally intended for development only.

      Coding complete.


/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */
***************************************************************************
***************************************************************************
* VALVES COMMANDS:                                                        *
***************************************************************************

=========================================================================
VALVES
-------------------------------------------------------------------------

   The GC has control for up to eight valves (V1 through V8.)

       Valve   |    Location on  |         Control
       Number  |    Instrument   |           Type
     ----------+-----------------+------------------------
	V1     |       Top       |      24v @ 540 ma max
	V2     |       Top       |      24v @ 540 ma max
	V3     |       Top       |      24v @ 540 ma max
	V4     |       Top       |      24v @ 540 ma max
	V5     |    Back Conn.   |      24v @ 100 ma max
	V6     |    Back Conn.   |      24v @ 100 ma max
	V7     |    Back Conn.   |   Contact Closure 48v max
	V8     |    Back Conn.   |   Contact Closure 48v max

   Valve Types
     1) Gas Sampling valve - (V1..V8) Up to two may be installed.
         Parameters:
	   On/Off (Inject sample)
	   Loop volume 
	   Load time 
	   Inject time
	   Inlet
	   See also VXGI(inject) and VXGA (abort)

     2) Multi-position valve - (V1..V8) Only one may be installed.
         Parameters:
	   Valve position
	   Switch time
	   Invert BCD 

     3) Switching or Other - (V1..V8) Up to 8 may be installed.
         Parameters:
	   On/Off


-------------------------------------------------------------------------
V1ssSW                                                             V1ssSW
VxssSW		Switching or Other Valve Setpoints                 VxssSW
V8ssSW                                                             V8ssSW
-------------------------------------------------------------------------
FUNCTION:
    This command is used to set the setpoints associated with the valve
    type switching or the valve type other.
    If this command is sent to a valve configured as anything but "Switching"
    or "Other", the command will be ignored and an error will be generated
    in the Host Error Log.

PART OF WORKFILE:  Yes

HOST ISSUES:
 VxssSW <On_Off>

    x = [1..8] valve number
    <On_Off> - [0|1]
	    0 - switch valve Off.
	    1 - switch valve On.
GC returns:
   No response.

Possible Error Responses = <NOT_ALLOWED> : valve is a REMOTE START out valve
                           <INVALID_PARAM>: invalid valve number or 
                                            invalid On_Off value (not 0 or 1)

HOST ISSUES:
 VxssSW ?
   x = [1..8] valve number

GC returns:
   Current setpoint

STATUS:
   Complete


-------------------------------------------------------------------------
V1ssGS                                                             V1ssGS
VxssGS		Gas Sampling Valve Setpoints                       VxssGS
V8ssGS                                                             V8ssGS
-------------------------------------------------------------------------
FUNCTION:
    This command is used to set the setpoints associated with a gas
    sampling valve.
    If this command is sent to a valve configured as anything other than
    "Gas Sampling", the command will be ignored and an error will be 
    generated in the Host Error Log.

PART OF WORKFILE:  Yes

HOST ISSUES:
 VxssGS <On_Off>,<GSV_Load_time>,<GSV_Inject_time>

    x = [1..8] valve number
    <On_Off> - [0|1]
         Gas Sampling Valve: [0|1]
            0 - will switch valve position to fill sample loop (Off position.)
            1 - inject sample and start run. Turns off when run time equals
                 <GSV_Inject_time> or at end of run.
            Note, workfile will always have a gas sampling valve set off.
    <GSV_Load_time> - amount of time sample is swept through sample loop
                          before valve goes "Ready".
    <GSV_Inject_time> - time sample loop is connected to column.

GC returns:
   No response.

HOST ISSUES:
 VxssGS ?
   x = [1..8] valve number

GC returns:
   Current setpoints.

STATUS:
   Complete
-------------------------------------------------------------------------
V1ssMP                                                             V1ssMP
VxssMP		Multiposition Valve Setpoints                      VxssMP
V8ssMP                                                             V8ssMP
-------------------------------------------------------------------------
FUNCTION:
    This command is used to set the setpoints associated with a multi-
    position valve.
    If this command is sent to a valve configured as anything other than
    "Multi-position" , the command will be ignored and an error will be 
    generated in the Host Error Log.

PART OF WORKFILE:  Yes

HOST ISSUES:
 VxssMP <MP_Valve_position>

    x = [1..8] valve number
    <MP_Valve_position> - [1..32] sample position of multiposition valve.

GC returns:
   No response.

HOST ISSUES:
 VxssMP ?
   x = [1..8] valve number

GC returns:
   Current setpoint

STATUS:
   Complete


-------------------------------------------------------------------------
V1ssCF                                                             V1ssCF
VxssCF		Valve Configuration                                VxssCF
V8ssCF                                                             V8ssCF
-------------------------------------------------------------------------
FUNCTION:
    This command is used to set the configuration parameters  associated
    with GC valving.  Note, not all parameters are needed for all valve
    types.  If an used parameter is given it will be ignored.  Unused
    parameters are always returned as 0.

PART OF WORKFILE:  No

HOST ISSUES:
 VxssCF <Valve_type>,<GSV_Loop_volume>,<GSV_inlet>, 
	       <MP_Switch_time>,<MP_Invert_BCD>

   x = [1..8] valve number
   <Valve_type> - type of valve installed.
         0 = Not Installed
         1 = Multiposition valve
         2 = Gas Sampling valve
         3 = Switching valve
         4 = Other
         5 = Remote start
    <GSV_Loop_volume> - volume of sample loop (in mL).
         (Gas Sampling valve only)
    <GSV_Inlet> - which inlet is connected to the valve.
	(Gas Sampling valve only)
	   0 = Front
	   1 = Back
	   2 = Aux3
	   3 = Aux4
	   4 = Aux5
	   5 = None
    <MP_Switch_time> - delay time (in seconds) between stepping pulses for
        the multiposition valve.  The time should be greater then the
        time it takes for the the valve mechanics to step one position. 
	(Multiposition valve only)
    <MP_Invert_BCD> -  determines if BCD input is complemented. 
	(Multiposition valve only)
	 0 - BCD input is not inverted.
	 1 - BCD input is inverted.

GC returns:
   No response.

HOST ISSUES:
 V1ssCF ?

GC returns:
   Current configuration is returned.

COMMENTS:
   There is a limit to the number of gas sampling valves installed. Only one  
   multiposition valve and only one remote start valve are allowed per 
   instrument.  To prevent errors when moving a valve from one location to 
   another, the valve should be removed from the old location before adding 
   it to the new location.

   The remote start valve is only allowed in positions 7 or 8.  This valve
   is a special purpose valve.  It is used to emit a start out pulse when a
   run begins.  It has no setpoints associated with it.  It has no timetable 
   events associated with it.

STATUS:
   Complete


-------------------------------------------------------------------------
VXssGI          Start GSV Injection                                VXssGI
-------------------------------------------------------------------------
FUNCTION:
    Starts an injection on one or two gas sampling valves and
    returns any error conditions.  May specify one or both
    gas sampling valves. This command has an associated state machine
    which ensures injection occurs in the correct sequence.  If the
    last parameter is "-1" then the injection happens immediately and
    readiness is entirely ignored.  NOTE: GSV_IDLE_ABORT was added to
    enable the workstation to determine if the previous run was aborted
    before injection. 

    NOTE:
     1/ If a valve number of 0 is used for both valves, the run
        starts but no valves are switched.  This behavior may be used
        to start a blank run.
     2/ Readiness exception handling is NOT effected in any way by the
        "ignore readiness" option . 


    Injection states:

     GSV_INJ_IDLE:
     waits for Inject command VXGI
     then moves to GSV_READY_WAIT

     GSV_READY_WAIT:
     waits for GC to be ready for PRE RUN
     (ready except for prep-run activities)
     then start PRE RUN and moves to GSV_PREP_RUN

     GSV_NO_RDY_WAIT:
     immediately start PRE RUN and move to GSV_NO_RDY_RUN . Do NOT wait
     for any readiness conditions .

     GSV_PREP_RUN:
     waits for PRE RUN activities to complete
     then switches valve(s) for injection and moves to GSV_INJ_IDLE

     GSV_NO_RDY_RUN:
     immediately switch valve(s) for injection and move to GSV_INJ_IDLE .
     Do NOT wait for any readiness conditions .

     GSV_IDLE_ABORT:
     this state is reached if the STOP key is pressed or VXssGA is
     received while in GSV_READY_WAIT or GSV_PREP_RUN.
     identical behavior as GSV_INJ_IDLE state.
	    

PART OF WORKFILE:  No

HOST ISSUES:
 VXssGI <valve_1>[,<valve_2>]
      -or-
 VXssGI <valve_1>,<ignore_ready>
      -or-
 VXssGI <valve_1>,<valve_2>,<ignore_ready>

     <valve_1> = [0..8] valve number of a GSV.
        If valve 0 is selected: a run will start, but a valve will not be
        switched. However, <valve_2> may switch a valve.
     <valve_2> = [0..8] valve number of second GSV (optional.)
        If valve 0 is selected: a run will start, but a valve will not be
        switched. However, <valve_1> may switch a valve.
     <ignore_ready> = -1   This is the flag to force in immediate injection
        regardless of the readiness of the GC .

GC returns:
 ssVXGI <response>
      <response> = <OK>|<NOT_ALLOWED>|<INVALID_PARAM>|<NOT_VALID_DURING_RUN>
            <NOT_ALLOWED> = sequence in progress or already running.

COMMENTS:
   For any non-zero <valve_1> or <valve_2>] entries the indicated valve must
   already have been configured as gas sampling valve. See VxssCF above . 

STATUS:
   Complete


-------------------------------------------------------------------------
VXssGA          Abort GSV Injection                                VXssGA
-------------------------------------------------------------------------
FUNCTION:
    Aborts an VXssGI injection on all gas sampling valves. The GSV
    injection state returns to IDLE.

PART OF WORKFILE:  No

HOST ISSUES:
 VXssGA

GC returns:
 ssVXSW <response>
      <response> = <OK>

STATUS:
   Complete


-------------------------------------------------------------------------
VXssST		Valve Status                                       VXssST
-------------------------------------------------------------------------
FUNCTION:
    This command returns the status of the valves. The actual position
    for all valves is given.  The injection state for the gas sampling
    valves is included.  The current value on the digital input port
    (BCD connector) is als returned by this command. The digital input
    is used for multi position valves.
     

PART OF WORKFILE:  No

HOST ISSUES:
 VXssST 

GC RETURNS:
 ssVXST <Valve_1_actual>, <Valve_2_actual>, <Valve_3_actual>, <Valve_4_actual>,
           <Valve_5_actual>, <Valve_6_actual>, <Valve_7_actual>, <Valve_8_actual>,
           <GSV_injection_state>,<MPV_position_input>

   <Valve_1_actual> = actual state of valve 1.
              0 = OFF
              1 = ON
   <GSV_injection_state> = current state of the gas sampling valve injection
	       sequence. (See VXGI for definitions.)
	 0 = GSV_INJ_IDLE
	 1 = GSV_READY_WAIT
	 2 = GSV_PREP_RUN
	 3 = GSV_IDLE_ABORT
     4 = GSV_NO_RDY_WAIT (Typically this state lasts about 10 mS )
     5 = GSV_NO_RDY_RUN  (Typically this state lasts about 10 mS )
   <MPV_position_input> - [1..32] position number read from the BCD connector
      on the back of the instrument. This is the current reading,
      it is up to the host to read the position number at the correct
      time. 
      Note,  a return value of 100 indicates that no device is connected
      to the BCD input.


STATUS:
   Complete


/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */
***************************************************************************
* SPECIAL COMMANDS:                                                       *
***************************************************************************

=========================================================================
GCssIN		INET Initialize                                    GCssIN
-------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                           INET MODE ONLY                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FUNCTION:
   This command is used to set the GC to "INET mode".

PART OF WORKFILE:  No

HOST ISSUES:
   GCssIN <on_off>
       <on_off> = [0...1]
              0 = INET mode OFF
              1 = INET mode ON
GC RETURNS:
   ssGCIN <OK>

COMMENTS:
   This command is typically issued by Maverick during the INET loop up
   sequence.  It forces the run state to RUN_IDLE and switches the GC
   run machine in or out of "INET mode".  When in "INET mode" the GC
   initiates the MVssXX family of messages and the MIO
   APG_ASYNC_PERIPHERAL_STATUS command, and all run state transitions
   are controlled solely by the host via the GCssRN command and the MIO
   APG_ASYNC_IO_STATUS command.  The GCssSQ and GCssSS commands are also
   enabled when in INET mode.


STATUS:
   Complete

=========================================================================
GCssRN		Set Run State                                      GCssRN
-------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                           INET MODE ONLY                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FUNCTION:
   This command is used to change the current run state of the GC.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssRN <gc_run_state>,<abort>
       <gc_run_state> = [0...3]  /* required param */
              0 = RUN_IDLE
              1 = PRE_RUN
              2 = RUN_ACTIVE
              3 = POST_RUN
       <abort> = [0...1]         /* optional param:  default = 0 */
	      0 = FALSE
	      1 = TRUE
GC RETURNS:
   ssGCRN <OK>|<NOT_ALLOWED>

COMMENTS:
   To advance to the RUN_ACTIVE state use the MIO async status command
   (see START RUN.)  The RUN_ACTIVE transition capability provided by
   this command should not normally be used.

   While in PRE_RUN state, sending the GC a "go to RUN_IDLE state"
   command will stop PRE_RUN activities and return the GC to RUN_IDLE
   state conditions.

   The "abort" parameter is used to distinguish between an INET "stop"
   and an INET "abort".

   Legal transitions are:

   New          Current
   State        State
   -------      -----
   0            0,1,2,3
   1            0,3
   2            0,1,3
   3            2

STATUS:
   Complete

=========================================================================
MVssPL		Column Compensation Has Started/Stopped            MVssPL
-------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                           INET MODE ONLY                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FUNCTION:
   This command is used to tell the integrator to start plotting data.
   The command will be issued by the GC at the beginning and end of column
   compensation to instruct the integrator to plot the compensation
   signal.  Plotting can terminate when the stop indication is received
   either in the data stream or from this command.

PART OF WORKFILE:  No

GC ISSUES:
   MVssPL <start_stop>
       <start_stop> = [0...1]
              0 = STOP
              1 = START
HOST RESPONDS:
   no response

DEFAULTS:
        None

COMMENTS:

STATUS:
   Complete

=========================================================================
MVssKC		Start Column Compensation Key Pressed              MVssKC
-------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                           INET MODE ONLY                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FUNCTION:
   GC will issue this command when the start column compensation key is
   pressed.

PART OF WORKFILE:  No

GC ISSUES:
   MVssKC <comp_signal>
       <comp_signal> = [1...3]
              1 = signal 1
	      2 = signal 2
              3 = both signal 1 & signal 2
HOST RETURNS:
  no response

DEFAULTS:
        None

COMMENTS:
   This message will be sent from GC when the start column compensation
   key is pressed.  The column compensation is not initiated by this event:
   the CCssCR command is used for that purpose.

STATUS:
   Complete

=========================================================================
MVssKP		Prepare Key Pressed                                MVssKP
-------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                           INET MODE ONLY                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FUNCTION:
   The GC will issue this command when the prepare key is pressed.

PART OF WORKFILE:  No

GC ISSUES:
   MVssKP
HOST RETURNS:
  no response

DEFAULTS:
        None

COMMENTS:
   This message will be sent from the GC when the start column compensation
   key is pressed.  The prerun state is not initiated by this event:
   the GCssRN command is used for that purpose.

STATUS:
   Complete

=========================================================================
MVssKS		Stop Key Pressed                                   MVssKS
-------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                           INET MODE ONLY                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FUNCTION:
   The GC will issue this command when the stop key is pressed.

PART OF WORKFILE:  No

GC ISSUES:
   MVssKS
HOST RETURNS:
  no response

DEFAULTS:
        None

COMMENTS:
   This message will be sent from the GC when the stop key is pressed.  The
   current run is not stopped by this event: the GCssRN command is used
   for that purpose.

STATUS:
   Complete

=========================================================================
MVssEN		Normal End Of Run Indication                       MVssEN
-------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                           INET MODE ONLY                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FUNCTION:
   This command is issued by the GC when a normal end of an oven program
   occurs.

PART OF WORKFILE:  No

GC ISSUES:
   MVssEN
HOST RETURNS:
  no response

COMMENTS:
   This message will be sent from the GC when the end of the oven program
   occurs.  The current run is not stopped by this event:  the GCssRN
   command is used for that purpose.

STATUS:
   Complete

=========================================================================
MVssPR		Normal End Of Post Run Indication                  MVssPR
-------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                           INET MODE ONLY                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FUNCTION:
   This command is issued by the GC when a normal end of post run occurs.

PART OF WORKFILE:  No

GC ISSUES:
   MVssPR
HOST RETURNS:
  no response

COMMENTS:
   This message will be sent from the GC when the end of post time occurs.
   This event does not cause the POST RUN state to be exited:  the GCssRN
   command is used for that purpose.

STATUS:
   Complete

=========================================================================
GCssSQ		Do Sequence Step                                   GCssSQ
-------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                           INET MODE ONLY                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FUNCTION:
   This command is used to cause the GC to perform a single step of a
   sequence.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssSQ <action>
       <action> = [0...1]
              0 = reset
              1 = do next sequence step
              2 = halt sequence and backup one step
GC RETURNS:
   ssGCSQ <OK>				/* <action> = 0 */
   ssGCSQ <OK>|<NOT_ALLOWED>		/* <action> = 1 */
   ssGCSQ <OK>				/* <action> = 2 */

COMMENTS:
   When <action> = 0 the sequence state is reset to the beginning.  If a
   sequence was already executing it will be aborted.  The "reset"
   action must be executed before commencing each sequence.

   If <action> = 1 then one step in the sequence will be executed.  The
   GCssSS command should normally be invoked first to be sure there is a
   step to execute and that the sequence is not still busy from a
   previous step.

   <action> = 2 is used to recover a sequence following a powerfail
   or other interruption.

WARNINGS:
   Because editing of the sequence may occur at any time, it is possible
   that "GCssSS" would return "OK" but a subsequent "GCssSQ 1" would
   return "NOT_ALLOWED".

STATUS:
   Complete

=========================================================================
GCssSS		Get Sequence Status                                GCssSS
-------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                           INET MODE ONLY                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FUNCTION:
   This command is used to get the status of a sequence from the GC.

PART OF WORKFILE:  No

HOST ISSUES:
   GCssSS
GC RETURNS:
   ssGCSS <OK>|<NOT_ALLOWED>|<NOT_VALID_DURING_RUN>|<COMMAND_ABORTED>

COMMENTS:
   The GC will return OK if there are steps remaining to be executed in its
   sequence.  The GC will return NOT_ALLOWED when it reaches the end of a
   sequence until it is reset using the "GCssSQ 0" command.  The GC will
   return NOT_VALID_DURING_RUN if it is busy running a sequence step.
   The GC will return COMMAND_ABORTED if the sequence has been aborted.

WARNINGS:
   Because editing of the sequence may occur at any time, it is possible
   that "GCssSS" would return "OK" but a subsequent "GCssSQ 1" would
   return "NOT_ALLOWED".

STATUS:
   Complete

=========================================================================
		INET Start Key Indication
-------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                           INET MODE ONLY                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FUNCTION:
   This is an MIO command which tells the MIO INET card that the start
   button has been pressed or an APG Remote START signal occurred.

PART OF WORKFILE:  No

GC ISSUES:
   GC will send an MIO Packet to the MIO Card.

 APG_ASYNC_PERIPHERAL_STATUS

 packet field                  packet bytes            field contents

 Device Specific                  0-7                   Undefined
 Command                          8                      0EH
 Command Modifier                 9                      0
 Return Status                    10                    Undefined
 Buffer Type                      11                     02 (Peripheral GP Buff)
 Start of Data                    12-13                 Address of Start of Data
 Data Length                      14-15                  1 or greater.
 Max Data Length                  16-17                 Max Data held in Buffer

 APG Async Peripheral Status Buffer Format :

                     Meaning when non-zero      |    Meaning when zero
                     ----------------------     |    ------------------

 Byte #0            1 = The Peripheral's start     No start key has been pressed
                       key has been pressed.


COMMENTS:
   The GC function MioStartRequest() will initiate the above packet.

STATUS:
   Complete

=========================================================================
		INET Start Run
-------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                           INET MODE ONLY                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FUNCTION:
   This is an MIO command which tells the GC to start run.

PART OF WORKFILE:  No

MIO INET CARD ISSUES:

 I/O Card to Peripheral Request Description :


 APG_ASYNC_IO_STATUS :

 packet field                 packet bytes            field contents

 Device Specific                 0-7                  Undefined
 Command                         8                     08H
 Command Modifier                9                     0
 Return Status                   10                   Undefined
 Buffer Type                     11                    03 (IO GP Buff)
 Start of Data                   12-13                Address of Start of Data
 Data Length                     14-15                 0 or greater.
 Max Data Length                 16-17                Max Data held in Buffer

 APG Async IO Status Buffer Format :

                         Meaning when non-zero    |  Meaning when zero
                         ----------------------   |  ------------------

 Byte #0               1 = The peripheral should        No action.
                         start a run ASAP.

GC RETURNS:

 APG_ASYNC_IO_STATUS response from the peripheral :

 packet field                 packet bytes           field contents

 Device Specific                 0-7                   Undefined
 Command                         8                      08H   (unchanged)
 Command Modifier                9                      0
 Return Status                   10                     01H
 Buffer Type                     11                     03 (I/O GP Buff)
 Start of Data                   12-13                Address of Start of Data
 Data Length                     14-15                  0 or greater.



COMMENTS:
  The GC function MioStartRun() will be executed when the GC receives the
  above packet.

STATUS:
   Complete


/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */
***************************************************************************
***************************************************************************
* WORFILE CONFIGURATION COMMANDS:                                         *
***************************************************************************
=========================================================================
xxssCW             Report Instrument Configuration                 xxssCW
-------------------------------------------------------------------------
FUNCTION:

   This family of commands is used to obtain information about the
   instrument configuration, both hardware-sensed and user-specified
   values.

   These commands are also included in instrument methods stored via the
   CCAD, CCBD, and CCMD commands as well as internal stored methods.
   When methods are loaded these commands update an internal "check
   area" which is then compared to the current instrument configuration
   during the CCAC, CCBC, and CCMC commands and also during internal
   method loads.

PART OF WORKFILE:  Yes

HOST ISSUES:
   GCssCW ?
GC RETURNS:
   ssGCCW <mio_bd_presence>,<epc_bd_presence>

HOST ISSUES:
   OVssCW ?
GC RETURNS:
   ssOVCW <oven_type>,<zone_presence>,<cryo_type>,<oven_max>

HOST ISSUES:
   IFssCW ?
GC RETURNS:
   ssIFCW <inlet_type>,<small_zone_presence>,<pneu_presence>,<pres_sensor_range>,
       <gas_type>,<pres_equib_time>,<flow_equib_time>

HOST ISSUES:
   IBssCW ?
GC RETURNS:
   ssIBCW <inlet_type>,<small_zone_presence>,<pneu_presence>,<pres_sensor_range>,
       <gas_type>,<pres_equib_time>,<flow_equib_time>

HOST ISSUES:
   C1ssCW ?
GC RETURNS:
   ssC1CW <col_length>,<col_diameter>,<col_film_thickness>,<col_inlet>,
       <col_detector>,<outlet_pres_correct_value>,<vacuum_correct>,
       <outlet_pres_correct>

HOST ISSUES:
   C2ssCW ?
GC RETURNS:
   ssC2CW <col_length>,<col_diameter>,<col_film_thickness>,<col_inlet>,
       <col_detector>,<outlet_pres_correct_value>,<vacuum_correct>,
       <outlet_pres_correct>

HOST ISSUES:
   DFssCW ?
GC RETURNS:
   ssDFCW <det_type>,<zone_presence>,<epc_presence>,<fuel_pres_sensor_range>,
       <util_pres_sensor_range>,<makeup_pres_sensor_range>,<util_gas_type>,
       <makeup_gas_type>

HOST ISSUES:
   DBssCW ?
GC RETURNS:
   ssDBCW <det_type>,<zone_presence>,<epc_presence>,<fuel_pres_sensor_range>,
       <util_pres_sensor_range>,<makeup_pres_sensor_range>,<util_gas_type>,
       <makeup_gas_type>

HOST ISSUES:
   A1ssCW ?
GC RETURNS:
   ssA1CW <therm_aux_type>,<small_zone_presence>

HOST ISSUES:
   A2ssCW ?
GC RETURNS:
   ssA2CW <therm_aux_type>,<small_zone_presence>

HOST ISSUES:
   A3ssCW ?
GC RETURNS:
   ssA3CW <pneu_aux_presence>,<pres_sensor_range>,<gas_type>,<equib_time>

HOST ISSUES:
   A4ssCW ?
GC RETURNS:
   ssA4CW <pneu_aux_presence>,<pres_sensor_range>,<gas_type>,<equib_time>

HOST ISSUES:
   A5ssCW ?
GC RETURNS:
   ssA5CW <pneu_aux_presence>,<pres_sensor_range>,<gas_type>,<equib_time>

HOST ISSUES:
   V1ssCW ?
GC RETURNS:
   ssV1CW <valve_type>,<GSV_loop_volume>,<GSV_inlet>,
       <MPV_switch_time>,<MPV_invert_BCD>

HOST ISSUES:
   V2ssCW ?
GC RETURNS:
   ssV2CW <valve_type>,<GSV_loop_volume>,<GSV_inlet>,
       <MPV_switch_time>,<MPV_invert_BCD>

HOST ISSUES:
   V3ssCW ?
GC RETURNS:
   ssV3CW <valve_type>,<GSV_loop_volume>,<GSV_inlet>,
       <MPV_switch_time>,<MPV_invert_BCD>

HOST ISSUES:
   V4ssCW ?
GC RETURNS:
   ssV4CW <valve_type>,<GSV_loop_volume>,<GSV_inlet>,
       <MPV_switch_time>,<MPV_invert_BCD>

HOST ISSUES:
   V5ssCW ?
GC RETURNS:
   ssV5CW <valve_type>,<GSV_loop_volume>,<GSV_inlet>,
       <MPV_switch_time>,<MPV_invert_BCD>

HOST ISSUES:
   V6ssCW ?
GC RETURNS:
   ssV6CW <valve_type>,<GSV_loop_volume>,<GSV_inlet>,
       <MPV_switch_time>,<MPV_invert_BCD>

HOST ISSUES:
   V7ssCW ?
GC RETURNS:
   ssV7CW <valve_type>,<GSV_loop_volume>,<GSV_inlet>,
       <MPV_switch_time>,<MPV_invert_BCD>

HOST ISSUES:
   V8ssCW ?
GC RETURNS:
   ssV8CW <valve_type>,<GSV_loop_volume>,<GSV_inlet>,
       <MPV_switch_time>,<MPV_invert_BCD>

HOST ISSUES:
   ASssCW ?
GC RETURNS:
   ssASCW <als_power_supply_presence>,
       <als_injector1_presence>,<als_injector2_presence>,
       <als_tray_presence>,<als_had_power_supply_presence>

EXAMPLE:
   Report front detector configuration (in this case EPC FID):

   HOST ISSUES:
    DFssCW ?

   GC RETURNS:
      ssDFCW 1,3,1,43092,6894720,6894720,0,5

COMMENTS:
  <mio_bd_presence> =   { NOT_PRESENT = 0, PRESENT = 1 }

  <als_power_supply_presence>     = { NOT_PRESENT = 0, PRESENT = 1 }
  <als_injector1_presence>        = { NOT_PRESENT = 0, PRESENT = 1 }
  <als_injector2_presence>        = { NOT_PRESENT = 0, PRESENT = 1 }
  <als_tray_presence>             = { NOT_PRESENT = 0, PRESENT = 1 }
  <als_had_power_supply_presence> = { NOT_PRESENT = 0, PRESENT = 1 }
  NOTE:  The <als_had_power_supply_presence> is set to PRESENT if an ALS
      (automatic liquid sampler) power supply was ever present since the
      GC was powered on.

  <epc_bd_presence> =   { NOT_PRESENT = 0, PRESENT = 1 }

  <oven_type> = { FAST_OVEN = 0, REG_OVEN = 1 }

  <zone_presence> = { NO_ZONE = 0, MISSING_SENSOR = 1, INVALID_HEATER = 2,
                      ZONE_PRESENT = 3 }

  <small_zone_presence> = as defined in GCssCF command

  <oven_max> = temperature in deg C

  <inlet_type> = as defined in GCssCF command

  <epc_presence> = { NOT_PRESENT = 0, PRESENT = 1 }

  <pneu_presence> = bit coded as follows: ( replaces epc_presence for inlets )

                        bit   bit   bit   bit    bit    bit    bit     bit
                         7     6     5      4      3      2      1       0
                        idle  idle  idle  idle   idle   idle  VI_vent  epc
                                                              capped

                     where :
                                     epc = 0|1 if NOT_PRESENT|PRESENT

                          VI_vent_capped = 0 if vent NOT capped
                                           1 if VI inlet & capped

  <pres_sensor_range> = the range is in dynes/cm2
                        (1 PSI = 68947.57 dynes/cm2)

  <gas_type> = { N2 = 0, H2 = 1, He = 2, ArMe = 3, O2 = 4, Air = 5,
                 Argon = 6, unknown = 7 }

  <pres_equib_time> = time in minutes

  <flow_equib_time> = time in minutes

  <col_length> = length in centimeters (10^-2 meters)

  <col_diameter> = diameter in microns (10^-6 meters)

  <col_film_thickness> = thickness in centimicrons (10^-8 meters)

  <col_inlet> = { Front = 0, Back = 1, Aux3 = 2, Aux4 = 3, Aux5 = 4, None = 5 }

  <col_detector> = { FRNT_DET = 0, BACK_DET = 1, MSD = 2, AED = 3, UNKNOWN = 4 }

  <vacuum_correct> = { OFF = 0, ON = 1 }

  <outlet_pres_correct> = { OFF = 0, ON = 1 }

  <outlet_pres_correct_value> = pressure at end of column in dynes/cm2

  <det_type>
      IF <det_type> <= 63
         FID  = 1
         TCD  = 2
         ECD  = 3
         NPD  = 4
         FPD  = 5
         AIB  = 6
         uECD = 7
         NO_DET = 15

      IF <det_type> > 63
         Bit field definition
            bit 0 - 5   - electronic board type
               FID              =  1
               AIB              =  6
               NO_DET           = 15
               ...
            bit 6 - 11  - pneumatics module type
               FID             = 1
               TCD             = 2
               ECD             = 3
               NPD             = 4
               FPD             = 5
               ...
               no pnue module = 15

            bit 12 -14  - OIM control present
               OIM not present = 0
               OIM present     = 1
               ...
            bit 15      - OIM flow module present
               OIM not present = 1
               OIM present     = 0

      EXAMPLE:
         det_type and 6890 configuration
            det_type <= 63
                   1 = Norm_FID_Det
                   3 = Norm_ECD_Det
                   6 = AIB


            det_type > 63                                OIM|Ctl|Flow|Elec
               32847 = OIM + FID_Flow                     1 | 0 |  1 | 15
               32838 = OIM + FID_Flow +   AIB             1 | 0 |  1 |  6
               32849 = OIM + FID_Flow +  Elctrmtr         1 | 0 |  1 | 17
               36943 = OIM + OIM_Ctl  +  FID_Flow         1 | 1 |  1 | 15
               36934 = OIM + OIM_Ctl  + FID_Flow  +  AIB  1 | 1 |  1 |  6
               36945 = OIM + OIM_Ctl  + FID_Flow  + Elct  1 | 1 |  1 | 17
                5073 = OIM_Ctl + Elct                     0 | 1 | 15 | 17
                5057 = OIM_Ctl + FID_Electronics          0 | 1 | 15 |  1
                5062 = OIM_Ctl + AIB                      0 | 1 | 15 |  6
                4175 = OIM_Ctl + FID_Flow                 0 | 1 |  1 | 15
                4161 = OIM_Ctl + Norm_FID_Det             0 | 1 |  1 |  1
                 977 = Elctmtr                            0 | 0 | 15 | 17
                 961 = FID_Electronics                    0 | 0 | 15 |  1
                 966 = AIB                                0 | 0 | 15 |  6
                  79 = FID_Flow                           0 | 0 |  1 | 15
                 975 = none                               0 | 0 | 15 | 15
                 981 = Signal Only FPD  (Slave FPD)       0 | 0 | 15 | 21

  <fuel_pres_sensor_range> = the range is in dynes/cm2
                             (1 PSI = 68947.57 dynes/cm2)

  <util_pres_sensor_range> = the range is in dynes/cm2
                             (1 PSI = 68947.57 dynes/cm2)

  <makeup_pres_sensor_range> = the range is in dynes/cm2
                               (1 PSI = 68947.57 dynes/cm2)

  <util_gas_type> = { N2 = 0, H2 = 1, He = 2, ArMe = 3, O2 = 4, Air = 5,
                      unknown = 6 }

  <makeup_gas_type> = { N2 = 0, H2 = 1, He = 2, ArMe = 3, O2 = 4, Air = 5,
                        unknown = 6 }

  <therm_aux_type> = { VLV_BOX     = 0,  valve box
                       UNKNOWN_AUX = 1,  unknown aux installed
                       MSD_AUX     = 2,  MSD transfer line
                       AED_AUX     = 3,
                       NO_AUX      = 4,  no aux installed
                       CRYO_TRAP   = 5,  cryo focus unit inside oven
                       NI_CAT      = 6   Nickel catalyst
                      }

  <pneu_aux_presence> = { NOT_PRESENT = 0, PRESENT = 1 }

  <equib_time> = time in minutes

  <valve_type> = { NO_VALVE = 0, MULTIPOSITION = 1, GAS_SAMPLING = 2,
                   SELECTION = 3 (same as switching), OTHER = 4,
                   REMOTE_START = 5 }

  <GSV_loop_volume> = volume in mL

  <GSV_inlet> = { Front = 0, Back = 1, Aux3 = 2, Aux4 = 3, Aux5 = 4, None = 5 }

  <MPV_switch_time> = time in seconds, resolution = 0.1 second

  <MPV_invert_BCD> = { not inverted = 0, inverted = 1 }


STATUS:
   Complete


NOTE:
=========================================================================
GCssCF          Report Configuration                               GCssCF
-------------------------------------------------------------------------
FUNCTION:

   ********
   WARNING:
   ********
   This command only reports HARDWARE configuration.  It provides only configur-
   ation information that represents actual hardware.  It does not provide
   soft-configuration information that is user settable.  This command also
   DOES NOT SUPPORT channel partner friendly, CPF, detectors (See DFCW, DBCW for
   definition of additional CPF information).

   Reports 6890 configuration.  There are two methods of using this command:
     1) GCssCF ? will return the all configuration items,
     2) GCssCF <option_type> - will give the configuration for one
        part of the 6890.

PART OF WORKFILE:  Yes

METHOD 1:
HOST ISSUES:
 GCssCF ?

GC RETURNS:
   ssGCCF <instrument_configuration_list>

   <instrument configuration list> =

   <oven_type>,<zone_presence>,<cryo_type>\n
   <fr_det_type>,<zone_presence>,<epc_presence>,{press_sensor_range list}\n
   <bk_det_type>,<zone_presence>,<epc_presence>,{press_sensor_range list}\n
   <fr_inlet_type>,<small_zone_presence>,<pneu_presence>,<press_sensor_range>\n
   <bk_inlet_type>,<small_zone_presence>,<pneu_presence>,<press_sensor_range>\n
   <aux1_type>,<small_zone_presence>\n
   <aux2_type>,<small_zone_presence>\n
   <aux3_presence>,<press_sensor_range>\n
   <aux4_presence>,<press_sensor_range>\n
   <aux5_presence>,<press_sensor_range>\n
   <valve_1_type>\n
   <valve_2_type>\n
   <valve_3_type>\n
   <valve_4_type>\n
   <valve_5_type>\n
   <valve_6_type>\n
   <valve_7_type>\n
   <valve_8_type>\n
   <mio_bd_presence>\n
   <als_power_supply_presence>,<als_injector1_presence>,
   <als_injector2_presence>,<als_tray_presence>,<als_had_power_supply_presence>\n
   <epc_bd_presence>\n

METHOD 2:
HOST ISSUES:
 GCssCF <option_type>

   <option_type>= | 1 = OVEN
                  | 2 = FRONT_DETECTOR | 3 = BACK_DETECTOR
                  | 4 = FRONT_INLET | 5 = BACK_INLET
                  | 6 = aux #1 | 7 = aux #2 | 8 = aux #3
                  | 9 = aux #4 | 10 = aux #5
                  | 11 = valve #1 | 12 = valve #2 | 13 = valve #3
                  | 14 = valve #4 | 15 = valve #5 | 16 = valve #6
                  | 17 = valve #7 | 18 = valve #8
                  | 19 = MIO Bd
                  | 20 = ALS (Automatic Liquid Sampler) Presence
                  | 21 = EPC Board


GC RETURNS:
   ssGCCF <option_configuration_list>
       <option_configuration_list>  - one line of <instrument_configuration_list>

   -or-

   ssGCCF <error_number>
       <error_number> = see CCssER command


EXAMPLES:

   Report front detector configuration (in this case manual FID):

   HOST ISSUES:
    GCssCF 2

   GC RETURNS:
      GCssCF 1,3,0,0,0,0

   HOST ISSUES:
    GCssCF 25

   GC RETURNS: option number greater than number available (INVALID PARAM)
      GCssCF 3

COMMENTS:

  {press_sensor_range list} = <sensor_1_range>,<sensor_2_range>,<sensor_3_range>

  <inlet_type> =
    {
              Working type                                          Actual Type
              returned by                                           returned by
               GCssCF                                                DTssMI
              -----------                                           -----------
     PP =          0, purge-packed inlet .............................. ( 0 )
     COC =         1, cool-on-column inlet ............................ ( 1 )
     SS =          2, split/splitless inlet ........................... ( 2 )
     PTV =         3, generic ptv - unused ............................ ( 3 )
     MANUAL_PP =   4, manual purge-packed inlet ....................... ( 4 )
     MANUAL_COC =  5, manual cool-on-column inlet ..................... ( 5 )
     MANUAL_SS =   6,  manual split/splitless inlet ................... ( 6 )
     UNKNOWN_INLET = 7, manual, unknown inlet type .................... ( 7 )
     NO_INLET =    8, no inlet installed .............................. ( 8 )
     ACI =         1, ac's sim dist inlet; no chemstation support ..... ( 9 )
     G_PTV =       2, gerstel's ptv, pneumatic only, no chemstation
                      support ......................................... ( 10)
     MANUAL_ACI =  5, ac's sim dist, packed mode, no chemstation
                      support ......................................... ( 11)
     CIS4 =       12, gerstel's ptv, thermal (w/ cryo), pneu &
                      chemstation ..................................... ( 12)
     SIMDIST =    13, ac's sim dist inlet, w/ chemstation support ..... ( 13)
     CIS3 =       14, gerstel's ptv w/ 505 controller, pneu only,
                      w/ PC support ................................... ( 14)
     JIB =        15, secondary std iq manifold for manufacturing
                      calibration ..................................... ( 15)
     VOLATILES =  16  inlet for gas samples, headspace, purge/trap
                      interface  ...................................... ( 16)
    }
    Note:   For <inlet_type>, the item shown as " (nn) " at the right end of
            each line is the value that the <type> parameter of the DTssMI
            command will return for the inlet in question. This is the actual
            value that is stored in the inlet pneumatics eprom. The "working
            type" returned by the GCssCF comes from the 6890 mainframe
            memory and is not necessarily the same as the actual value stored
            in the inlet eprom.

            If the GCssCF type is not the same as the DTssMI type then the
            indicated inlet type is NOT FULLY SUPPORTED by 6890 and/or
            chemstation.  See the DTssMI command description .

/* fake pneu to thinking that G_PTV is really a SS */
  <det_type> =   {  FID = 1, TCD = 2, ECD = 3, NPD = 4, FPD = 5, AIB = 6,
                    uECD = 7, NO_DET = 0xff }

  <aux_type> =   { VLV_BOX = 0, UNKNOWN_AUX = 1, MSD_AUX = 2,
                   AED_AUX = 3, NO_AUX = 4,
                   CRYO_TRAP = 5,  cryo focus unit inside oven
                   NI_CAT = 6      Nickel catalyst
                 }

  <aux_presence> =   { NOT_PRESENT = 0, PRESENT = 1 }


  <oven_type> =  {  FAST_OVEN = 0, REG_OVEN = 1 }

  <cryo_type> = { NO_CRYO  = 0, N2_CRYO  = 1, CO2_CRYO = 2, FORCED_AIR = 3 }

  <zone_presence> = { NO_ZONE = 0, MISSING_SENSOR = 1, INVALID_HEATER = 2,
                      ZONE_PRESENT = 3 }

  <small_zone_presence> =

       | bit  | bit  | bit  | bit  | bit  | bit  | bit   | bit   |
       |  7   |  6   |  5   |  4   |  3   |  2   |  1    |  0    |
       |------|------|------|------|------|------|-------|-------|
       |unused|unused|unused|<cryo>|<cryo>|<cryo>|sensor |heater |
       |      |      |      | bit 2| bit 1| bit 0|present|present|

               where <cryo> gives cryo type:
                    NO_CRYO    =  0,
                    N2_CRYO    =  1,
                    CO2_CRYO   =  2,
                    FORCED_AIR =  3

  <press_sensor_range>  =  the range is in dynes/cm2
                           where 1 PSI = 68947.57 dynes/cm2

  <valve_type> = { NO_VALVE = 0, MULTIPOSITION = 1, GAS_SAMPLING = 2,
                   SELECTION = 3 (same as switching), OTHER = 4,
                   REMOTE_START = 5 }

  <mio_bd_presence> =   {  NOT_PRESENT = 0, PRESENT = 1 }

  <als_power_supply_presence> =   {  NOT_PRESENT = 0, PRESENT = 1 }
  <als_injector1_presence>    =   {  NOT_PRESENT = 0, PRESENT = 1 }
  <als_injector2_presence>    =   {  NOT_PRESENT = 0, PRESENT = 1 }
  <als_tray_presence>         =   {  NOT_PRESENT = 0, PRESENT = 1 }
  <als_had_power_supply_presence>=   {  NOT_PRESENT = 0, PRESENT = 1 }

  <epc_bd_presence> =   {  NOT_PRESENT = 0, PRESENT = 1 }

 COMMENTS:     The <als_had_power_supply_presence> is set to PRESENT if an ALS
            (automatic liquid sampler) power supply was ever present since
            the GC was powered on.
               The pressure sensor range value will need to be rounded.

STATUS:
   Complete

***************************************************************************
* ECHO COMMANDS:                                                          *
***************************************************************************


=========================================================================
xxssEO          Echo Command                                       xxssEO
-------------------------------------------------------------------------
FUNCTION:
   This command will echo the first parameter.

PART OF WORKFILE:  No

HOST ISSUES:
   xxssEO "<echo_message>"

        xx = any valid destination address
        <echo_message> = may contain any ASCII character except double
                           quote (") or semicolon (;). Up to 256
                           characters may be used.

GC RETURNS:
   ssxxEO "<echo_message>"

COMMENTS:
   This command may be used to ensure there are no pending
   messages in any of the GC destination channels. Since the
   commands within a channel are executed the in order received,
   when the response to this command is obtained there are no
   pending commands or output messages in that channel and the
   host-GC communications are in sync.

   Therefore, to sync up the host and the GC the host would send
   the echo command with a unique message and throw away all
   responses received until the proper echo command is returned.

   The following is an example of the minimum set of commands needed
   to check all channels:
      CCssEO "1234"
      GCssEO "1234"
      S1ssEO "1234"
      S2ssEO "1234"
      SSssEO "1234"
      OVssEO "1234"
      DFssEO "1234"
      IFssEO "1234"
      C1ssEO "1234"
      A1ssEO "1234"
      V1ssEO "1234"
      ASssEO "1234"
      DTssEO "1234"

STATUS:
   Complete

=========================================================================
                  New SeaQuest Configuration Commands
=========================================================================

=========================================================================
DFssTW                                                             DFssTW
DBssTW          Custom Detector Title                              DBssTW
-------------------------------------------------------------------------

FUNCTION:
    If a custom detector title is programmed into the 6890, this command
    may be used to read the title. The command will be used in the
    configuration section of the workfile.  The title is programmed into
    the EEPROM and can not be set by this command.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssTW ?
GC RETURNS:
 ssDFTW <title_string>
    <title_string> - returns title surrounded by curly brackets.
        Title may contain up to 6 characters. Where each character
        may be any printable 7 bit ASCII character except for
        the double quote, comma, or curly bracket(",{}) characters.
        If no custom title is available the command will return empty
        curly brackets.

EXAMPLE:
  NPD front detector with custom title of BS Det and an FID
  detector in back with no custom title:
     DFssTW ?
     ssDFTW {BS Det}
     DBssTW ?
     ssDBTW {}

STATUS:
   Part of Seaquest release.
   Coding incomplete.
   Testing incomplete.




=========================================================================
DFssGW                                                             DFssGW
DBssGW          Custom Detector Gas Labels                         DBssGW
-------------------------------------------------------------------------

FUNCTION:
    The OIM Flow Module supports custom detector gas labels.  These labels
    are returned by this command. It is not required to use all gas
    channels and an unused channels in indicated by returning an
    empty string.  This command will be used in the configuration
    section of the workfile.  The labels are programmed into the EEPROM
    and can not be set by this command.

PART OF WORKFILE:  Yes

HOST ISSUES:
 DFssGW ?
GC RETURNS:
 ssDFGW <gas1_label>,<gas2_label>,<gas3_label>

    <gasX_label> - returns label surrounded by curly brackets.
        Label may contain up to 8 characters. Where each character
        may be any printable 7 bit ASCII character except for
        the double quote, comma, or curly bracket(",{}) characters.
        If the gas channel is not in use the parameter will contain
        empty curly brackets.

EXAMPLE:
  An OIM Flow Module using gas channels 1 and 3:
     DFssGW ?
     ssDFGW {GAS 1},{},{Make-up}

STATUS:
   Part of Seaquest release.
   Coding incomplete.
   Testing incomplete.



=========================================================================
DFssOW                                                             DFssOW
DBssOW          Open Interface Module Configuration                DBssOW
-------------------------------------------------------------------------

FUNCTION:
    This command provides the ability to read the configuration
    parameters for the OIM board. The command will be used in the
    configuration section of the workfile.  The parameters are
    programmed into the EEPROM and can not be set by this command.

PART OF WORKFILE:  Yes

HOST ISSUES:
DFssOW ?

GC RETURNS:
ssDFOW <ctl1_label>,<ctl1_num_bits>,<ctl1_format>,
       <ctl2_label>,<ctl2_num_bits>,<ctl2_format>,
       <ctl3_label>,<ctl3_num_bits>,<ctl3_format>,
       <ctl4_label>,<ctl4_num_bits>,<ctl4_format>

   <ctlX_label> - label to be displayed for control X
         up to 12 characters
   <ctlX_num_bits> - number of bits associated with control X
   <ctlX_format> -  display format for control X
      0 - Numeric  [0..<max>]
      1 - On/Off  [ON,OFF]

Note: All labels are surrounded by curly brackets.  A label
      may contain up to 12 characters. Where each character
      may be any printable 7 bit ASCII character except for
      the double quote, comma, or curly bracket(",{}) characters.
      If the control channel is not in use the parameter will
      contain empty curly brackets.

EXAMPLE:
  Control channels 1 and 2 are in use:
     DFssOW ?
     ssDFOW {Control 1},4,0,{Control 2},2,1,{},0,0,{},0,0

STATUS:
   Part of Seaquest release.
   Coding incomplete.
   Testing incomplete.


=========================================================================
DFssZW                                                             DFssZW
DBssZW                Thermal Limits Configuration                 DBssZW
IFssZW                                                             IFssZW
IBssZW                                                             IBssZW
A1ssZW                                                             A1ssZW
A2ssZW                                                             A2ssZW
-------------------------------------------------------------------------

FUNCTION:
    This command reports the thermal maximum setpoint, minimum setpoint,
    and maximum ramp rate.  This command will be part of the workfile
    whenever the associated pneumatics module EEPROM has stored definitions
    for any or all of the limit parameters.  This command will ALWAYS be
    part of the workfile for the following options:

    Auxiliary temperature:    Cryo Focus

    Inlet temperature:        HP PTV
                              PCM
                              Volatiles Interface/Inlet

PART OF WORKFILE:  Yes

HOST ISSUES:
DFssZW ?

GC RETURNS:
ssDFZW <minimum setpt>,<maximum setpt>,<maximum rate>

   <minimum setpt> - minimum allowable temperature setpoint in degrees C,
                     range: -200 to 25 degrees C
   <maximum setpt> - maximum allowable temperature setpoint in degrees C
                     range: 25 to 500 degrees C
                     NOTE: this parameter must be non-zero, it is used by
                     the chemstation to determine whether or not the
                     command has been sent.
   <maximum rate>  - maximum allowable rate setpoint in degrees C/minute
                     range: 0.00 to 2000.00 degrees C/minute

NOTES: 1)  If some or all of the limits are not defined in the pneumatics
           EEPROM we will use the limits defined in the firmware.

       2)  The is no pneumatics module associated with the auxiliary temperature
           options.

EXAMPLE:
  HP PTV with LN2 cryo shroud, with no stored definitions in EEPROM:
     DFssZW ?
     ssDFZW -160,450,720.00

STATUS:
   Part of Seaquest release.
   Coding incomplete.
   Testing incomplete.



***************************************************************************
***************************************************************************
* ALS COMMANDS:                                                           *
***************************************************************************

=========================================================================
00ssCO                                                         00ssCO
00ssCONFIG      Read Sampler Configuration Strings             00ssCONFIG
-------------------------------------------------------------------------
FUNCTION:
   Gets the current configuration strings from the injector tower and
   the 6890 built-in controller.

PART OF WORKFILE:  No

HOST ISSUES:
   00ssCO[NFIG]

GC RETURNS:
   ss00CO[NFIG] <f_tower_config>;<b_tower_config>;<controller_config>

HOST ISSUES:
   00ssCO[NFIG] <selector>
      <selector> - 1, 2, or 3

GC RETURNS:
   ss00CO[NFIG] <tower_config_string>      (for selector = 1)
   ss00CO[NFIG] 106                        (for selector = 2, Err_NoTower)
   ss00CO[NFIG] <controller_config_string> (for selector = 3)

   <f/b_tower_config> - 106 (if no tower) or <version>,<turret_max>,
                           <tray_allowed>,<max_stop>,<syringe_size>
   <version> = revision string (eg: G2613A.10.05)
   <turret_max> = 3 or 8
   <tray_allowed> = 0 (no) or 1 (yes)
   <max_stop> = 6
   <syringe_size> = 10 (meaningless, always 10.  Use <syringe_size> in 00ssIC)

   <controller_config> - <controller_version>,<tray_max>,<BCR_type>
   <controller_version> = revision string (eg: G1530N.04.01)
   <tray_max> = 0 for no tray, 100 for G2614A present
   <BCR_type> = 0 for no BCR, 2 for G1926A present

EXAMPLE:
   HOST:
      00xxCO
   GC:
      xx00CO G2613A.10.02,8,0,6,10;;G1530N.04.02,0,0

   HOST:
      00xxCONFIG 3
   GC:
      xx00CONFIG G1530N.04.02,0,0

COMMENTS:
   Works with command as "CO" or "CONFIG" (old style).  Only first two
   letters decoded.
   Using selector = 1 or 2  with no tower returns 106, the error code
   for no tower.  In the 6890N, there is always a controller present.


=========================================================================

00ssIC          Tower Configuration Setpoints                      00ssIC
-------------------------------------------------------------------------
FUNCTION:
   Reads/Sets the configuration parameters for the sampler tower that
   are normally handled by the 6890 keyboard.  Obsolete parameters
   (Nl Adaptor) are not handled.

PART OF WORKFILE:  No

HOST ISSUES:
   00ssIC <f_waste_use>,<f_fan_on_off>,<f_syringe_size>,<f_extend_solvent>,
          <f_wvol>,<f_ss_onoff>,
          <b_waste_use>,<b_fan_on_off>,<b_syringe_size>,<b_extend_solvent>,
          <b_wvol>,<b_ss_onoff>,
          <enable_3of9>,<enable_2of5>,<enable_UPC>,<enable_chksum>,<BCR_pos>,
          <gripper_offset>,<f_inj_offset>,<b_inj_offset>

      <waste_use> - Defines use of waste bottles for G2613 tower with 3
       sample turret.  Ignored for the 8 sample turret or the G2880 tower.
         0 = Use waste bottle A only. (default)
         1 = Use waste bottle B only.
         2 = Alternate between both waste bottles.
      <fan_on_off> - Tower fan control.
         0 = Off.
         1 = On (default).
      <syringe_size> = positive integer, 10ths of uL. 5 through 1000.
      <extend_solvent> - Control of splitting of wash bottle(s)
         For the G2613 tower with 3 sample turret:
           0 = Off, use bottle B only for Wash B    (default)
           1 = On, alternate between bottles B and B2 for Wash B
               from run to run.  B2 is sample bottle 2 in three bottle turret.
         For the G2613 tower with 8 sample turret:
           Setpoint has NO EFFECT.
         For the G2913 tower with 1 sample turret:
           0 = Use wash bottles A & B only     (default)
           1 = Use wash bottles A, A2 and B, B2 alternating
               from run to run.
           2 = Use wash bottles A, A2, A3 and B, B2, B3.
         For the G9613 tower with 8 sample turret:
           Setpoint has NO EFFECT.
         For the G2880 tower (Small Wonder):
           0 = Off, use bottles A and B only for A & B washes respectively.(default)
           1 = On, alternate bottles A, A+ and B, B+ for A & B washes
               respectively.
      <wvol> = Wash volume.  Valid range is 2,..,6. Default is 3.  2 corresponds to
               sample stop 1 (.02 syringe volume).  3 is sample stop 2 (.1 syringe
               volume) up through 6 = sample stop 5 (.5 syringe volume).
      <ss_onoff> - Solvent saver on/off
           0 = Off, ignore wvol, do full wash.
           1 = On, use wvol wash volume.
      <enable_3of9>
           0 = disabe 3 of 9 barcode
           1 = enable 3 of 9 barcode
      <enable_2of5>
           0 = disabe 2 of 5 barcode
           1 = enable 2 of 5 barcode
      <enable_UPC>
           0 = disabe UPC barcode
           1 = enable UPC barcode
      <enable_chksum>
           0 = disabe barcode checksum
           1 = enable barcode checksum
      <BCR_pos> - barcode reader position, range 1 to 19, default 3
      <gripper_offset> - Z axis adjustment of tray gripper.
           0 = default pickup position
           1 = lower (down) pickup position
          -1 = higher (up) pickup position
          (Note: gripper_offset only in Rev N.04.09 or later revisions)
      <inj_offset> - theta axis adjustment of injector location
           0 = default injector location
           1 = Clockwise rotation of injector position
          -1 = Counterclockwise rotation of injector position
          (Note: inj_offset only in Rev N.05.00 or later revisions)

GC RETURNS:
   no response

HOST ISSUES:
   00ssIC ?

GC RETURNS:
   ss00IC <f_waste_use>,<f_fan_on_off>,<f_syringe_size>,<f_extend_solvent>,<f_wvol>,
          <f_enable_ss>,<b_waste_use>,<b_fan_on_off>,<b_syringe_size>,
          <b_extend_solvent>,<b_wvol>,<b_enable_ss>,
          <enable_3of9>,<enable_2of5>,<enable_UPC>,<enable_chksum>,<BCR_pos>
          <gripper_offset>,<f_inj_offset>,<b_inj_offset>

      <enable_ss> - reports solvent saver status.
           0 = Off
           1 = On.  Only on if ss_onoff is set to on, tower supports solvent
               saver (version 10.06 or greater), and diagnostic keyboard control
               has it enabled (original 6890N release - evaluation use only
               for solvent saver).

COMMENTS:
   This command is new to 6890N GC.  It handles setpoints formerly part of
   keyboard-for-hire in the 6890A GC and 6890 Plus GC.

   Syringe size defaults to 100 (10.0 uL) in memory reset.
   It is just a storage location for hosts to share & store syring size so that
   they can give the user volume selection in uL instead of volume stops.

   For the G2613 injector tower, using <extend_solvent> = 1 for
   the B/B2 alternating wash bottle is for the 3 sample turret only.
   <extend_solvent> = 1 has no effect if the 8 sample turret is being used,
   all B washes go the the B wash bottle.  Similarly, the <waste_use> is
   ignored for the 8 sample turret with all waste going to the single
   waste bottle.


=========================================================================
00ssSE                                                         00ssSE
00ssSETPTS           Sampler Setpoints                         00ssSETPTS
-------------------------------------------------------------------------
FUNCTION:
   Sets/Reads the workfile setpoints for the sampler.  Can also be
   used to set the sampler to default setpoints using the DEFAULTS
   parameter.

PART OF WORKFILE:  Yes (Sampler or GC&Sampler workfile formats)

HOST ISSUES:
   00ssSE[TPTS] <volume_stop>,<pumps>,<viscosity>,<samp_wash>,<post_washA>,
    <post_washB>,<slow_plunger>,<pre_dwell>,<post_dwell>,<skim_enable>,
    <skim_depth>,<pre_washA>,<pre_washB>[;][;]

GC RETURNS:
   ss00SE[TPTS] <error_code>

HOST ISSUES:
   00ssSE[TPTS] DEFAULTS

GC RETURNS:
   ss00SE[TPTS] 0

HOST ISSUES:
   00ssSE[TPTS] ?

GC RETURNS:
   ss00SE[TPTS] <volume_stop>,<pumps>,<viscosity>,<samp_wash>,<post_washA>,
    <post_washB>,<slow_plunger>,<pre_dwell>,<post_dwell>,<skim_enable>,
    <skim_depth>,<pre_washA>,<pre_washB>

PARAMETERS:
   <volume_stop> = 1 through 6, default = 2       (injector stop)
   <pumps>       = 0 through 15, default = 6      (sample pumps)
   <viscosity>   = 0 through 7, default = 0       (viscosity delay,seconds)
   <samp_wash>   = 0 through 15, default = 0      (sample pre wash)
   <post_washA>  = 0 through 15, default = 0      (post wash from wash btl A)
   <post_washB>  = 0 through 15, default = 0      (post wash from wash btl B)
   <slow_plunger>= 0 or 1, default = 0 (fast)     (slow plunger enable,0=Off)
   <pre_dwell>   = 0 to 100, default = 0          (pre-inj dwell, unit=0.01 min)
   <post_dwell>  = 0 to 100, default = 0          (post-inj dwell, unit=0.01min)
   <skim_enable> = 0 or 1, default = 0 (off)      (sample skim enable, 0=Off)
   <skim_depth>  = -20 through 300, default = 100 (sample skim depth, unit=0.1mm)
   <pre_washA>   = 0 through 15, default = 0      (pre wash from wash btl A)
   <pre_washB>   = 0 through 15, default = 0      (pre wash from wash btl B)

   <error_code>  = 0   (Err_NoError - no error)
                   142 (Err_SetptRange - one or more setpoints out of range)

COMMENTS:
   The "?" form of the command is new to the 6850 GC.  The same is
   true of using "SE" instead of "SETPTS". In sending setpoints, one
   or two optional semicolons are allowed at the end of the command.
   They are there to match the old sampler controller but are ignored
   along with any setpoint strings they may have between them.
   See the WFIL command.  The volume stop default of 2 corresponds to
   a 1 uL injection from a 10 uL syringe.


=========================================================================
00ssST                                                         00ssST
00ssSTATUS               Tower Status                          00ssSTATUS
-------------------------------------------------------------------------
FUNCTION:
   Returns the current sampler system status.

PART OF WORKFILE:  No

HOST ISSUES:
   00ssST[ATUS]

GC RETURNS:
   ss00ST[ATUS] <inj_status>,<f_tower>,<b_tower>,<tray_status>,<bcr_status>,
                <ext_status>,<INJECT_state>

   <inj_status> - hexadecimal byte
     b0 - Initializing.  1 = initialization done
     b3 - Busy.          1 = busy
     b4 - Setpoint changed, 1 = true, cleared by SETPTS

   <f/b_tower> -  hexadecimal byte
     b0 - Presence.      1 = present.
     b1 - Enabled.       1 = yes.
     b2 - Busy.          0 = busy.
     b3 - Door open.     1 = open.

   <tray_status> - hexadecimal byte
     b0 - Presence       1 = present.
     b1 - Enabled        1 = yes.
     b2 - Busy           1 = busy. (NOTE: opposite of <f/b_tower> busy!)

   <bcr_status> - hexadecimal byte
     b0 - Presence       1 = present.
     b1 - Enabled        1 = yes.
     b2 - Busy           1 = busy. (NOTE: opposite of <f/b_tower> busy!)

   <ext_status> - hexadecimal byte, is copy of 6890's APG inputs

   <INJECT_state> - 0 through 5 (decimal)
     0 = idle
     1 = start cycle
     2 = sync
     3 = continue
     4 = bottle return
     5 = stopping


=========================================================================
00ssVS                                                         00ssVS
                         CSI Setpoints
-------------------------------------------------------------------------
FUNCTION:
   Used to read/set the csi setpoints used with the PTV inlet.

PART OF WORKFILE:  No

HOST ISSUES:
   00ssVS ?

GC RETURNS:
   ss00VS <f_draw>,<f_wash_disp>,<f_wash_vol>,<f_inj_disp>,<b_draw>,
            <b_wash_disp>,<b_wash_vol>,<b_inj_disp>

HOST ISSUES:
   00ssVS <f_draw>,<f_wash_disp>,<f_wash_stop>,<f_inj_disp>,<b_draw>,
            <b_wash_disp>,<b_wash_stop>,<b_inj_disp>

GC RETURNS:
   no response.

   where:
   <f_draw>, <b_draw> - 100 through 10,000

   <f_wash_disp>, <b_wash_disp> - 10 through 10,000

   <f_wash_vol>, <b_wash_vol> - 2 through 7

   <f_inj_disp>, <b_inj_disp> - 0, 10 through 30,000
                                0 for normal/slow plunger


/* $Header: CMDS_ALL,v 2.5 04/10/18 13:52:44 przybyls Exp $ */


                     IQ TEST AND DIAGNOSTICS COMMAND SET



                     Lesley Freed


                     ------------------------------
                     Diagnostic Command Set Summary
                     ------------------------------

 I.     instrument status commands:
        DTAC    -       set auto clear of diagnostic setpoints mode
        DTCL    -       clear diagnostics mode (return instrument to working
                        setpoints)
        DTDS    -       report status of the signal and pneumatics DSP's
        DTHS    -       set the instrument in hacksaw mode
        DTMD    -       manufacturing date
        DTPS    -       report power supply voltages
        DTRV    -       report firmware revision
        DTRD    -       report firmware revision date
        DTSN    -       instrument serial number
        DTST    -       instrument statistics: uptime and # of start runs
        DTS1    -       read a single data point from signal 1
        DTS2    -       read a single data point from signal 2

 II.    test commands:
        DTCM    -       communication port tests
        DTCP    -       report results of CPU's power-on tests
        DTDA    -       D/A to mux'ed A/D loop back test
        DTSK    -       skip next power-on-self-test

 III.   mux'ed adc commands:
        DTAD    -       Set mux'ed a-to-d test parameters
        DTMX    -       Mux'ed a-to-d time response test

 IV.    detector commands:
        DTDF    -       front detector state
        DTDB    -       back detector state

 V.     heated zone commands:
        DTOV    -       execute oven heater and fan relay test on next power-on
        DTZC    -       Set constant thermal zone duty cycle mode on/off
        DTZD    -       Set constant thermal zone duty cycle
        DTZF    -       Set the zone to factory defaults
        DTZG    -       Set thermal zone PID constants
        DTZL    -       Set/Report zone limits
        DTZN    -       Set thermal zone tune type
        DTZP    -       Report the thermal zone wattage sense ranges
        DTZR    -       Set thermal control ramp compensation parameters
        DTZT    -       Set thermal control PID parameters

 VI.    pneumatics commands:
        DTEN    -       Read environment adc reading noise from the pneumatics board
        DTEV    -       Read environment adc reading voltages from the pneumatics board
        DTIF    -       Front inlet diagnostic values
        DTIB    -       Back inlet diagnostic values
        DTIV    -       Manually operate inlet solenoid valves
        DTMI    -       Read pneumatics module information
        DTMT    -       Read filtered voltages from the pneumatics module
                        temperature sensors
        DTPD    -       Set pneumatic duty cycle
        DTPN    -       Read voltages noise from the pneumatics sensors
        DTPO    -       Read calculated offsets for the pneumatics sensors
        DTPR    -       Read actual setpoints and actuals of the pneumatics
        DTPV    -       Read filtered voltages from the pneumatics sensors
        DTRE    -       Dumps the contents (and def'n) of an EEPROM location
        DTAP    -       Returns the current value for atmospheric pressure
        IFFZ    -       Sets factory zero on the pressure sensor
        IBFZ    -       Sets factory zero on the pressure sensor
        DFFZ    -       Sets factory zero on the pressure sensors
        DBFZ    -       Sets factory zero on the pressure sensors
        AXFZ    -       Sets factory zero on the pressure sensors

/******************************************************************************/
/*                                W A R N I N G                               */
/******************************************************************************/

The following commands are DANGEROUS.  They can set the instrument
in an unusable state - even after power cycling the instrument.
They should be used only by manufacturing or product support!!!

        DTWE    -       Writes a value to the specified EEPROM location
        DTPK    -       read to or write from mainboard address space
        DTXP    -       Send command to PCB2 dsp


VII.    programming flash rom:
        DTEF    -       Erase flash buffer.
        DTPF    -       Program flash buffer.
        DTSF    -       Swap flash buffer to program space on next reboot.


/******************************************************************************/
/*                            E N D   W A R N I N G                           */
/******************************************************************************/

CHANGES/ADDITIONS/DELETIONS since R115:

       DTMX - definition changed
       DTPD - report duty cycles fixed
       DTMI - added
       DTHS - added
       DTDA - changed definition
       DTOV - added

CHANGES/ADDITIONS/DELETIONS since R116:

       DTRV - definition changed and implemented with new definition
       DTSN,DTMD - added password protection
       DTZP - added
       DTZG - added
       mainboard mux'ed adc address map added to Appendix

CHANGES/ADDITIONS/DELETIONS since R121:
       DTST - added

CHANGES/ADDITIONS/DELETIONS since R127:
       DTS1/2 - added

CHANGES/ADDITIONS/DELETIONS since R132:
       DTOV - definition changed and implemented with new definition

CHANGES/ADDITIONS/DELETIONS since R139:
       DTST - definition changed and implemented with new definition
       DTSX - definition changed and implemented with new definition

CHANGES/ADDITIONS/DELETIONS since R140:
       DTCP - added flags for skip power on test and oven power on test

CHANGES/ADDITIONS/DELETIONS since R142:
       DTMI - added parameter <test_station_id>
       DTDS - added parameter <pneumatics DSP comm alive>

CHANGES/ADDITIONS/DELETIONS since R146:
       DTCM - added MIO communication port tests portion of command
       DTPO - defined and added
       DTIF - defined and added
       DTIB - defined and added
       DTHS - added parameter Actual_Equals_Setpt

Added for R151
       DTAP - added

Added for R152
        IFFZ    -       Sets factory zero on the pressure sensor
        IBFZ    -       Sets factory zero on the pressure sensor
        DFFZ    -       Sets factory zero on the pressure sensors
        DBFZ    -       Sets factory zero on the pressure sensors
        AXFZ    -       Sets factory zero on the pressure sensors

Added for R163
       DTHS - added parameter Use_Thermal_Setpt
       DTAC - defined and added

Added for R221
       DTZR - added man page
       DTZL - defined and added
       DTZT - defined and added
Added for A208
       DTZF - defined and added man page

VIREO Changes:
       DTSP - Added command
       DTSC - Added command


I.      INSTRUMENT STATUS COMMANDS:

==========================================================
DTAC       Set Auto Clear Diagnostic Setpts Mode      DTAC
----------------------------------------------------------

FUNCTION:
    Sets the auto clear of diagnostic setpoints to on or off.
    On:  GC set to normal operation on exiting the diagnostics
         keyboard.
    Off: Diagnostic setpoints remain on exiting the diagnostics
         keyboard.

HOST ISSUES:
 DTssAC <auto_clear_diagnostics>

GC RETURNS:
   no response

   <auto_clear_diagnostics>  = [0|1], 0=OFF, 1=ON

HOST ISSUES:
 DTssAC ?

GC RETURNS:
   ssDTAC <auto_clear_diagnostics>

STATUS:
    Complete.

==========================================================
DTCL           Clear Diagnostics Mode                 DTCL
-------------------------------------------------------------

FUNCTION:
   To clear all diagnostics settings by setting the instrument back to
   normal operating mode.

HOST ISSUES:
 DTssCL

GC RETURNS:
 ssDTCL <return_code>

   <return code> = See Appendix

COMMENTS:  This command will return OK if it is successful and will return
           a code explaining why not otherwise.

STATUS:
    Complete.

=============================================================
DTDS                  Report DSP status                  DTDS
-------------------------------------------------------------

FUNCTION:
    To report the result of the signal and pneumatics DSP
    power-on tests and current status, including active serial
    transfer and dsp errors (if any).

HOST ISSUES:
 DTssDS

GC RETURNS:
   ssDTDS <signal DSP transmission retries>,
          <signal digital data transmission fails>,
          <signal analog data lost errors>,
          <signal DSP status>,
          <pneumatics DSP read checksum errors>,
          <pneumatics DSP write checksum errors>,
          <pneumatics DSP overrun errors>,
          <pneumatics DSP last error>,
          <pneumatics DSP last power-on test result>,
          <pneumatics DSP comm alive >

DEFINITIONS:

1) <signal DSP transmission retries>

   Count of # of times that a retry to send to the signal DSP has occurred

2) <signal digital data transmission fails>

   Count of # of times that a retry to the signal DSP has failed

3) <signal analog data lost errors>

   Count of # of times that the signal DSP has failed to receive data from
   the 68331 mainboard microprocessor (so it has lost analog out data)

4) <signal DSP status> (reported in hexadecimal format)

  This is a snapshot of the signal DSP status the last time a
  <signal DSP transmission retry> occurred.
                     00h =  OK
                     90h =  ROM Checksum Error
                     a0h =  RAM Test Error
                     b0h =  Register Test Error
                     ffh =  DSP Failed startup test horribly


5) <pneumatics DSP read checksum errors>

   Count of read checksum errors for the pneumatics DSP

6) <pneumatics DSP write checksum errors>

   Count of write checksum errors for the pneumatics DSP

7) <pneumatics DSP overrun errors>

   Count of # of times that the pneumatics DSP response data was not read by
   the 68331 mainboard microprocessor.

8) <pneumatics DSP last error>   (reported in hexadecimal format)

   Last error reported by the pneumatics DSP, this will cause the DSP
   to execute a power-on self test.

                   0000h =  no error/not executed
                   0001h =  operation OK
                   2002h =  output overflow error
                   2003h =  invalid adc rdg error
                   2011h =  input buffer checksum error
                   2555h =  512Hz timeslot overrun error
                   2222h =  CPU-CPU comm watchdog timed out error
                   2aaah =  at least 1 channel in safety shutdown
                   200fh =  data memory test error
                   2008h =  prog memory test error
                   20f0h =  PWM test error
                   20ffh =  CPU register test error
                   2001h =  command not understood error (checksum OK)
                   2020h =  EEPROM not ready for read/write error

9) <pneumatics DSP last power-on test result>   (reported in hexadecimal format)

   This is the results of the DSP's power-on self test caused by the error
   reported in <pneumatics DSP last error>.

   See <pneumatics DSP last error> for definition

10) <pneumatics DSP comm alive > status of the communication link between the
    mainboard CPU and the pneumatics DSP
    1 = OK
    0 = no communications active

EXAMPLES:

   HOST ISSUES:
    DTssDS

   GC RETURNS:
      ssDTDS 0,1,1,0,0,0,0,0,0,1

STATUS:
    Coding Complete.

=============================================================
DTHS             Set instrument in hacksaw mode          DTHS
-------------------------------------------------------------

FUNCTION:
    Set flags to indicate that we are in hacksaw mode.  This
    will do the following:

    <fake_heaters>:
       Setting this ON will:
         - force any small zone with a sensor but no heater to be
           present
         - skip the oven monitor to prevent oven scram when the
           oven is set on (the thermal fault monitor is still active).
         - not test the oven temperature when executing the
           optional oven power-on test
    <fake_pneumatics>:
       Setting this ON will:
         - set actual values equal to setpoint values for the
           pneumatics.  This should only be done with an instrument
           with no gas supplies hooked up.  The instrument is
           not chromatographically functional in this mode.

    <fake_oven>:
       Setting this ON will:
         - cause the pneumatics to calculate setpoints using the
           oven setpoint instead of the oven actual value.
           WARNING:  This should only be done with an instrument
           without a real oven.  The instrument is not
           chromatographically functional in this mode.

HOST ISSUES:
 DTssHS <fake_heaters>,<fake_pneumatics>, <fake_oven>

 <fake_heaters> -
     set the thermal hacksaw mode (1 = on, 0 = off)

 <fake_pneumatics> -
     set actual equal to setpt for the pneumatics (1 = on, 0 = off)

 <fake_oven>
     set mode to use oven setpoint (instead of actual) for the
     pneumatics calculations (1 = on, 0 = off)

GC RETURNS:
   no response

HOST ISSUES:
 DTssHS ?

GC RETURNS:
   ssDTHS <fake_heaters>,<fake_pneumatics>,<fake_oven>

STATUS:
    Coding complete.

=============================================================
DTMD                  Manufacturing date                 DTMD
-------------------------------------------------------------

FUNCTION:
    Set/report manufacturing date in year, month, day, hours,
    minutes, and seconds.

HOST ISSUES:
 DTssMD <password>,<date>,<time>

GC RETURNS:
   No response

HOST ISSUES:
 DTssMD ?

GC RETURNS:
   ssDTMD <date><time>

   <date>= DDMMYY
   DD: day
   MM: month
   YY: year

   <time>= HHMMSS
   HH: hour
   MM: minute
   SS: second

EXAMPLES:

    HOST ISSUES:
        DTssMD ?

    GC RETURNS:
        ssDTMD 031795,120000

NOTE:  The GC clock stores the year as a 2-digit number.  The
       year clock is referenced off of the year 2000, with 00
       being the year 2000 and 99 being the year 2099.

STATUS:
    Code Complete.

=============================================================
DTPS        Power Supply Diagnostic Tests            DTPS
-------------------------------------------------------------

FUNCTION:
   Return a list of the current values of the power supplies.

HOST ISSUES:
 DTssPS

GC RETURNS:
   ssDTPS <5V supply>,<+15V supply>,<-15V supply>,<24V supply>

   voltages reported in mV

EXAMPLE:

   HOST ISSUES:
    DTssPS

   GC RETURNS:
      ssDTPS 5014,15021,-15022,26500

STATUS:
    Coding complete.

=============================================================
DTRV             Report firmware revision                DTRV
-------------------------------------------------------------

FUNCTION:
    Report mainboard firmware revision.

HOST ISSUES:
 DTssRV

GC RETURNS:
   ssDTRV <mainboard ROM set rev #>

   <mainboard ROM set rev #> = X.YY.YY (version.update.fix)
       X = [A-Z]
       Y = [0-9]

EXAMPLES:

    HOST ISSUES:
        DTssRV

    GC RETURNS:
        ssDTRV A.01.00

STATUS:
    Coding complete.

=============================================================
DTRD             Report firmware revision date           DTRD
-------------------------------------------------------------

FUNCTION:
    Report mainboard firmware revision date and time.

HOST ISSUES:
 DTssRD

GC RETURNS:
   ssDTRD <mainboard ROM rev date & time>

   <mainboard ROM rev date & time> = www dd mmm yy hh:mm
       www = day of week (Mon, Tue, etc.)
       dd  = day of month
       mmm = month (Jan, Feb, etc.)
       yy  = year
       hh  = hour
       mm  = minute

EXAMPLES:

    HOST ISSUES:
        DTssRD

    GC RETURNS:
        ssDTRD Wed 30 Dec 98 09:00

STATUS:
    Coding complete.

=============================================================
DTSN                  Serial Number                      DTSN
-------------------------------------------------------------

FUNCTION:
    Set/report the instrument serial number stored in battery
    backed-up RAM.

HOST ISSUES:
 DTssSN <password>,<serial number>

GC RETURNS:
   No response

HOST ISSUES:
 DTssSN ?

GC RETURNS:
   ssDTSN <serial number>

   <serial number>= 10 char. ascii string

   the format for <serial number> must be the following to be accepted:

   XXDDDDDDDD where:   XX is a 2 character country code which is one of the
                       following: US, DE, BR, CN, IN, or JP

                       DDDDDDDD is an 8-digit number with zero-fill if needed

EXAMPLES:

1)
    HOST ISSUES:
        DTssSN ?

    GC RETURNS:
        ssDTSN US00032769

2)
    HOST ISSUES:
        DTssSN <password>,US00001234

    GC RETURNS:
        no response

STATUS:
    Coding complete.

=============================================================
DTSC           Sampler Power Supply Control              DTSC
-------------------------------------------------------------

FUNCTION:
    Used to turn off sampler power supply or re-enable automatic
  control.

HOST ISSUES:
   DTssSC ?

GC RETURNS:
   ssDTSC <mode>


HOST ISSUES:
   DTssSC <control>

GC RETURNS:
   no response

   <mode> - 0 = power off
            1 = power in transition
            2 = power on
            3 = power off & controller disabled

  <control> 0 = disable automatic power control and turn off power
            1 = enable automatic power control

EXAMPLES:

1)
    HOST ISSUES:
        DTssSC ?

    GC RETURNS:
        ssDTSC 2

2)
    HOST ISSUES:
        DTssSC 0

    GC RETURNS:
        no response, sampler power is turned off & stays off

NOTE:  If the supply is left in the disabled state, power
       cycling the instrument will return the state to
       automatic.  There is no way to permanently disable
       the supply.


=============================================================
DTSP                  Sampler Power Supply               DTSP
-------------------------------------------------------------

FUNCTION:
    Report the status of the ALS power supply.

HOST ISSUES:
 DTssSP ?

GC RETURNS:
   ssDTSP <mode>,<max_overcurrent_counter>

   <mode> - 0 = power off
            1 = power in transition
            2 = power on
            3 = power off & controller disabled

   <max_overcurrent_counter> - 0 through ~2500.  When power on, is
            incremented by 10 at 512hz if in overcurrent or decremented
            by 1 if not.  This captures the max value reached.
            Is cleared by reading it with this command.  2500 or larger
            indicates that the supply went into shutdown (power off) at
            least once.

EXAMPLES:

1)
    HOST ISSUES:
        DTssSP ?

    GC RETURNS:
        ssDTSP 2,122


=============================================================
DTST                  Instrument Statistics              DTST
-------------------------------------------------------------

FUNCTION:
    Set/Report instrument statistics: uptime and total # of start
    runs.

1)
    HOST ISSUES:
        DTssST ?

GC RETURNS:
       ssDTST <uptime>,<# of start runs>

       <uptime>= total time in seconds that the instrument has been
                 powered on since the instrument's memory was last
                 reset.

       <# of start runs>= total number of start runs executed since
                          the instrument's memory was last reset.

2)
    HOST ISSUES:
        DTssST <password>,<uptime>,<# of start runs>

    GC RETURNS:
        no response

EXAMPLES:

1)  Get the statistics for a GC that has been powered-on for
    24 hours and has executed 20 runs.

    HOST ISSUES:
        DTssST

    GC RETURNS:
        ssDTST 86400,20

STATUS:
    Coding complete.

=============================================================
DTS1           Read signal 1 information                 DTS1
DTS2           Read signal 2 information                 DTS2
-------------------------------------------------------------

FUNCTION:
    Return information for signal 1 or signal 2:
    1) a single data point from signal 1 or signal 2 in
       decimal 32-bit format.

    2) the latest noise measurement for signal 1 or 2 in signal
       counts.  NOTE:  You need to wait at least twice the length
       the noise measurement (2 X 2 seconds = 4 seconds) after
       a signal change.

HOST ISSUES:
 DTssS1

GC RETURNS:
   ssDTS1 <data point>,<noise>

   <data point>= signal data value in signal units described above
                 (see S1CS for scaling)
   <noise>= peak-to-peak signal noise in same units as <data point>,
            collected over a 2 second window.


EXAMPLES:

1)  Get a signal 1 data point when it is set to oven temperature, oven
    is at 50 degrees, with .05 degrees noise (peak-to-peak).

    HOST ISSUES:
        DTssS1

    GC RETURNS:
        ssDTS1 12000,12

NOTE:  The least significant 5-bits are removed.  The scaling is thus
    32 times less than that of a signal from the S1RD command.  For example,
    the scaling for a detector would be 240 instead of 240*32.  An unscaled
    signal, such as Adc Reading (A100) has a scale factor of 1.  You need to
    wait at least 10 ms after a signal type change to ensure that you are
    getting the correct signal.

      The signal data has the following maximum sampling rate:
      Detector signals:  100 Hz (same bandwidth as the fast peaks analog data)
      Non-detector signals:  51.2 Hz max

STATUS:
    Coding complete.


II.     TEST COMMANDS:

=============================================================
DTCM               Communication Ports Tests          DTCM
-------------------------------------------------------------

FUNCTION:
    Execute a communication port diagnostic test.  A test may
    be performed on any port other then the one used to issue
    the command.  The port under test should not be in active
    use during the test. Loopback tests require an external
    connector.


HOST ISSUES:
 DTssCM <test type>

   <test type>:
      0 = <Host RS232 test>  - non-destructive
      1 = <Host RS232 data loopback> -  destructive
           loopback of data lines (pins 2 and 3) required
      2 = <Host RS232 control loopback> -  destructive
           loopback of modem control lines (pins 1,4,6,7,8) required
      3 = <OBC RS232 test>  - non-destructive
      4 = <OBC RS232 data loopback> -  destructive
           loopback of data lines (pins 2 and 3) required
      5 = <OBC RS232 control loopback> -  destructive
           loopback of modem control lines (pins 1,4,6,7,8) required
      6 = <Injector 1 RS232 test> - non-destructive
      7 = <Injector 1 RS232 data loopback> -  destructive
           loopback of data lines (pins 2 and 3) required
      8 = <Injector 1 RS232 control loopback> -  destructive
           loopback of modem control lines (pins 1,4,6,7,8) required
      9 = <Injector 2 RS232 test> - non-destructive
     10 = <Injector 2 RS232 data loopback> -  destructive
           loopback of data lines (pins 2 and 3) required
     11 = <Injector 2 RS232 control loopback> -  destructive
           loopback of modem control lines (pins 1,4,6,7,8) required
     12 = <Tray RS232 test> - non-destructive
     13 = <Tray RS232 data loopback> -  destructive
           loopback of data lines (pins 2 and 3) required
     14 = <Tray RS232 control loopback> -  destructive
           loopback of modem control lines (pins 1,4,6,7,8) required

GC RETURNS:

 ssDTCM <return code>

   <return code> =
               3 = INVALID_PARAM
              10 = MISSING_PARAM
              13 = NOT_INSTALLED
              45 = TEST_PASSED
              46 = TEST_FAILED

COMMENTS:
   non-destructive test:
          The current state of the port will not be disturbed, so
          communications may continue after the test.  No incoming
          data to the port will be lost.

   destructive test:
          The communications port will be reset and the port will be
          non responsive for a period of time, so incoming messages
          may be lost. Also any out going messages queued to be
          send will be lost.

   Because of the nature of HPIB and the interface chip that we are
   using,  there is no way to test HPIB without connecting it to
   a controller.  Therefore, no self test was implemented at this
   time.


   RS232 LOOP BACK CONNECTOR:

            SIGNAL            PIN CONNECTION         NEEDED FOR TEST
      -------------------     --------------      ---------------------
      Tx to Rx                3 to 2              RS232 data loopback
      RTS to CTS              7 to 8              RS232 control loopback
      DTR to DSR and DCD      1 to 4 and 6        RS232 control loopback

EXAMPLES:

  Execute MIO destructive test:

   HOST ISSUES:
    DTssCM 1

   GC RETURNS:
      ssDTCM 45

STATUS:
  Coding complete


=============================================================
DTCP                  CPU Diagnostic Tests               DTCP
-------------------------------------------------------------

FUNCTION:
    Report the mainboard CPU power-on test results.

HOST ISSUES:
 DTssCP ?

GC RETURNS:
   ssDTCP <signal DSP boot test result>,<pneumatics FPGA load result>,
          <pneumatics DSP test result>,<DUART test result>,
          <skip power on test executed>,<oven power on test executed>

      <signal DSP boot test result>  = signal DSP power on test result
      <pneumatics FPGA load result>  = Pneumatics board FPGA load test result
      <pneumatics DSP test result>   = Pneumatics board dsp power-on test result
      <DUART test result>            = DUART chip power-on test result
      <skip power on test executed>  = last power on had skip power on test
                                       flag set
      <oven power on test executed>  = last power on executed oven test

DEFINITIONS:

1) <signal test boot test result>  (reported in hexadecimal format)

                     00h =  OK
                     90h =  ROM Checksum Error
                     a0h =  RAM Test Error
                     b0h =  Register Test Error
                     ffh =  DSP Failed startup test horribly

 2) <pneumatics FPGA load result>

                     00 =  failed
                     01 =  passed (old board)
                     02 =  not installed
                     03 =  passed (new board)

 3) <pneumatics DSP test result> (reported in hexadecimal format)

                   0000h =  no error/not executed
                   0001h =  operation OK
                   2002h =  output overflow error
                   2003h =  invalid adc rdg error
                   2011h =  input buffer checksum error
                   2555h =  512Hz timeslot overrun error
                   2222h =  CPU-CPU comm watchdog timed out error
                   2aaah =  at least 1 channel in safety shutdown
                   200fh =  data memory test error
                   2008h =  prog memory test error
                   20f0h =  PWM test error
                   20ffh =  CPU register test error
                   2001h =  command not understood error (checksum OK)
                   2020h =  EEPROM not ready for read/write error

  4) <DUART test result>
                      0 =  passed
                      1 =  failed

  5) <skip power on test executed>
                      1 =  executed
                      0 =  not executed

  5) <oven power on test executed>
                      1 =  executed
                      0 =  not executed

EXAMPLES:
    Report power-on self-test results with the signal DSP
    reporting a RAM test error and a failed DUART test.

    HOST ISSUES:
        DTssCP ?

    GC RETURNS:
        ssDTCP a0,1,1,1,0,0

    Report power-on self-test results with all tests successful

    HOST ISSUES:
        DTssCP ?

    GC RETURNS:
        ssDTCP 0,1,1,0,0,0

STATUS:
    Coding complete.

=============================================================
DTDA        D-to-A to A-to-D Loop Back Test           DTDA
-------------------------------------------------------------

FUNCTION:
Execute the DAC to mux'ed ADC loop back test.

HOST ISSUES:
 DTssDA <test parameter>

 <test parameter> = 0|1|2
                    0 - start loop back test
                    1 - check loop back test status
                    2 - read test results
GC RETURNS:

<test parameter> = 0:
   ssDTDA <return code>

   <return code>  = See Appendix

<test parameter> = 1:
   ssDTDA <test status>

   <test status> = 0|1|2
                   0 = BUSY (test-in-progress)
                   1 = IDLE (no test-in-progress and results have been read)
                   2 = DONE (no test-in-progress and results have not been read)

<test parameter> = 2:
   ssDTDA <attenuator 1 test result>,<attenuator 2 test result>,
          <DAC output 1 test result>,<DAC output 2 test result>

   <attenuator 1 test result> = passed or failed [0|1]
   <attenuator 2 test result> = passed or failed [0|1]
   <DAC output 1 test result> = passed or failed [0|1]
   <DAC output 2 test result> = passed or failed [0|1]

NOTE:
    This test takes approximately 6 seconds to complete.
You must either wait 6 seconds or test for the test status
to be not BUSY before using the results of this test.

STATUS:
    Coding complete.

=============================================================
DTSK             Skip power-on self-test              DTSK
-------------------------------------------------------------

FUNCTION:
    Set a flag to skip the complete power-on test the next time
    that the instrument goes through startup.  The following tests
    will be skipped:

       - ROM test
       - DRAM test
       - analog loop back test
       - zone configuration test
       - detector offset measurement

HOST ISSUES:
 DTssSK

GC RETURNS:
   no response

EXAMPLES:
    Set instrument to skip next power-on-self-test:

HOST ISSUES:
        DTssSK

GC RETURNS:
      no response

STATUS:
    Complete.

III.    MUX'ED ADC COMMANDS

==========================================================
DTAD       Set Multiplexed A-to-D Test Parameters     DTAD
-------------------------------------------------------------

FUNCTION:
    Set the pre-channel on/off, the pre-channel address and
    the address of the channel to be monitored.

HOST ISSUES:
 DTssAD <pre_channel_on_off>,<pre_channel_addr>,<mux_adc_monitor_addr>

GC RETURNS:
   no response

   <pre_channel_on_off>   = [0|1], 0=OFF, 1=ON
   <pre_channel_addr>     = mux adc address  ( decimal format ONLY )
   <mux_adc_monitor_addr> = mux adc address  ( decimal format ONLY )

HOST ISSUES:
 DTssAD ?

GC RETURNS:
   ssDTAD <pre_channel_on_off>,<pre_channel_addr>,<mux_adc_monitor_addr>

EXAMPLES:

   Set the pre-channel on and to address 5, set the monitored channel to 10

   HOST ISSUES:
    DTssAD 1,5,10

   GC RETURNS:
      no response

COMMENTS:  See the Appendix for the mux'ed adc channel address map.
           See DTMX below for explanation of pre-channel

STATUS:
    Complete.

==========================================================
DTMX           Multiplexed A-to-D Tests               DTMX
-------------------------------------------------------------

FUNCTION:
    Execute a multiplexed a-to-d (mux'ed adc) test.

HOST ISSUES:
 DTssMX <mux'ed adc test type>

GC RETURNS:
   no response

   <mux'ed adc test type>= [0]

   0 = mux'ed adc time response test. Test runs as follows:
       1/ read from the pre-channel once. ( optional )
       2/ Make 19 consecutive readings from the monitor_adc_channel.
       3/ Report the 19 readings .If the prechannel reading reading
          was taken do not report it.

EXAMPLES:

   Execute the mux'ed adc time response test:

   HOST ISSUES:
    DTssMX 0

   GC RETURNS:
      ssDTMX 32101,32102,32101,32102,32103,32100,32102,32101,32101,32104,
             32099,32101,32100,32102,32100,32101,32104,32097,32101

ADDITIONAL INFO:
    1- see DTAD for DTMX 0 to set the adc channels
    2- the GC will be put in Diagnostics mode during the test, which will
       execute in less than 2 ms
    3- see 6890 schematics "Mux ADC section" for expected voltages for
       specific mux channels.


COMMENTS:  The pre-channel is the same as any other channel. The same
           address map applies to the pre-channel and the monitor
           channel. The pre-channel reading is an opportunity to
           initialize ( in an analog sense ) the mux-d ADC system
           to an arbitrarily chosen channel prior to taking the
           readings of interest.

           Readings are taken as follows:

           0.0v <= V1...V24 <= 1.0v
                   ______                                       ______
           V1  ---|      |                                     |16 Bit|
           V2  ---|      |                                     | A/D  |
           V3  ---|      |     ___________      ___________    | cvtr;|
                . |Mux;  |    |Amplifier; |    | Summer:   |   |-3. to|
                . |Unity |___\| Gain = 6  |___\| Add -3.0  |__\|+3.VDC|_\ DTMX
                . |Gain  |   /|___________|   /|___________|  /|______| / rdgs
           V23 ---|      |
           V24 ---|______|                  DTMX_rdg = 65535*Vx


STATUS:
    Complete.

IV.     DETECTOR COMMANDS

=============================================================
DTDF         Front Detector Board State                DTDF
DTDB         Back  Detector Board State                DTDB
-------------------------------------------------------------

FUNCTION:
    Set the front/back detector board state.

HOST ISSUES:
 DTssDF <bit0_state>,<bit1_state>,<bit2_state>,<bit3_state>,<linear_mode>

GC RETURNS:
   no response

HOST ISSUES:
 DTssDF ?

GC RETURNS:
   current settings

   <bitx_state>  = ON/OFF state of bit x
   <linear_mode> = normal or linear mode setting for detector data processing
        0 = normal
        1 = linear

NOTE:
   See Appendix Part B. for description of detector diagnostics.

STATUS:
   Coding complete.

V.      HEATED ZONE COMMANDS

=============================================================
DTOV         Request oven power-on test                  DTOV
-------------------------------------------------------------

FUNCTION:
    Set a flag to execute the oven heater and fan relay drive
    test during the power-on test the next time that the
    instrument goes through startup.  The test is as follows:

    if <oven_test_enable> is ON do oven power-on test

    if <oven_test_enable> is OFF skip oven power-on test

    The oven power-on test is as follows:

       1 - turn the oven power relay and heater on for <oven_test_on_time>
           seconds
       2 - turn the oven power relay and heater off for <oven_test_off_time>
           seconds
       3 - turn the oven power relay and heater on for <oven_test_on_time>
           seconds
       4 - turn the oven power relay and heater off for <oven_test_off_time>
           seconds

    <oven_test_on_time>  = time in seconds, with x > 0 and x <= 30
    <oven_test_off_time> = time in seconds, with x > 0 and x <= 30
    <oven_test_enable>   = <on/off> [1|0]


HOST ISSUES:
 DTssOV <oven_test_on_time>,<oven_test_off_time>,<oven_test_enable>

GC RETURNS:
   no response

HOST ISSUES:
 DTssOV ?

GC RETURNS:
 ssDTOV <oven_test_on_time>,<oven_test_off_time><oven_test_enable>

COMMENTS:
     The test will not execute if there is no sensor plugged
     in and the unit is not in Hacksaw mode.  So to execute
     this test without a sensor you must set the unit in
     Hacksaw mode (DTHS command).

     You must have a valid <oven_test_on_time> and <oven_test_off_time>
     for the test to execute.

STATUS:
    Coding complete.

==========================================================
DTZC    Set/read zone duty cycle on/off               DTZC
----------------------------------------------------------

FUNCTION:
    Set/read the thermal zone constant duty cycle on/off
    setpoints

HOST ISSUES:
 DTssZC <FIDCon_off>,<BIDCon_off>,<FDDCon_off>,<BDDCon_off>,
        <A1DCon_off>,<A2DCon_off>,<OVDCon_off>,<CRDCon_off>

GC RETURNS:
   no response

   <FIDCon_off>  = front inlet zone constant duty cycle on/off
   <BIDCon_off>  = back inlet zone constant duty cycle on/off
   <FDDCon_off>  = front detector zone constant duty cycle on/off
   <BDDCon_off>  = back detector zone constant duty cycle on/off
   <A1DCon_off>  = aux #1 zone constant duty cycle on/off
   <A2DCon_off>  = aux #2 zone constant duty cycle on/off
   <OVDCon_off>  = oven constant duty cycle on/off
   <CRDCon_off>  = oven cryo valve constant duty cycle on/off

   <on_off>   = [0|1], 0= constant duty cycle mode OFF,
                       1= constant duty cycle mode ON

HOST ISSUES:
 DTssZC ?

GC RETURNS:
 ssDTZC <FIDCon_off>,<BIDCon_off>,<FDDCon_off>,<BDDCon_off>,
        <A1DCon_off>,<A2DCon_off>,<OVDCon_off>,<CRDCon_off>

NOTE:
    For constant duty cycle on/off mode set to OFF the zone
    will operate normally.

EXAMPLES:

   Read the zone constant duty cycle on/off setpoints

   HOST ISSUES:
    DTssZC ?

   GC RETURNS:
    ssDTZC 0,0,0,0,0,0,0

STATUS:
    Coding complete.

==========================================================
DTZD             Set/read zone duty cycles            DTZD
----------------------------------------------------------

FUNCTION:
    Set/read thermal zones constant duty cycle setpoints and actuals.

HOST ISSUES:
 DTssZD <FIDCs>,<BIDCs>,<FDDCs>,<BDDCs>,<A1DCs>,<A2DCs>,<OVDCs>,<CRDCs>
        <FIDCa>,<BIDCa>,<FDDCa>,<BDDCa>,<A1DCa>,<A2DCa>,<OVDCa>,<CRDCa>

GC RETURNS:
   no response

   <FIDCs> = front inlet zone constant duty cycle setpoint
   <BIDCs> = back inlet zone constant duty cycle setpoint
   <FDDCs> = front detector zone constant duty cycle setpoint
   <BDDCs> = back detector zone constant duty cycle setpoint
   <A1DCs> = aux #1 constant duty cycle setpoint
   <A2DCs> = aux #2 constant duty cycle setpoint
   <OVDCs> = oven constant duty cycle setpoint
   <CRDCs> = oven cryo valve constant duty cycle setpoint
   <FIDCa> = front inlet zone duty cycle actual
   <BIDCa> = back inlet zone duty cycle actual
   <FDDCa> = front detector zone duty cycle actual
   <BDDCa> = back detector zone duty cycle actual
   <A1DCa> = aux #1 duty cycle actual
   <A2DCa> = aux #2 duty cycle actual
   <OVDCa> = oven duty cycle actual
   <CRDCa> = oven cryo valve duty cycle actual

   <const duty cycle setpoint> = duty cycle value used if in constant
                                 duty cycle mode
   <duty cycle actual> = actual duty cycle value

HOST ISSUES:
 DTssZD ?

GC RETURNS:
 ssDTZD <FIDCs>,<BIDCs>,<FDDCs>,<BDDCs>,<A1DCs>,<A2DCs>,<OVDCs>,<CRDCs>,
        <FIDCa>,<BIDCa>,<FDDCa>,<BDDCa>,<A1DCa>,<A2DCa>,<OVDCa>,<CRDCa>

NOTE:
    Duty cycles values are in units of percent, e.g. for a 50% duty
    cycle you would see the value 50.

EXAMPLES:

   Set the oven constant duty cycle to 50%

   HOST ISSUES:
    DTssZD ,,,,,,50

   GC RETURNS:
      no response

STATUS:
    Coding complete.

==========================================================
DTZF             Set the zone to factory defaults     DTZF
----------------------------------------------------------

FUNCTION:
    Set the thermal zone control constants to factory settings.
    This gives you the ability to clear any custom control
    parameters set via datacomm.  NOTE: Any custom parameters
    stored in the zone's eeprom pneumatics module will remain.

HOST ISSUES:
 DTssZF <zone type>

   <zone type> : 0 = oven heater
                 1 = front detector zone
                 2 = back detector zone
                 3 = front inlet zone
                 4 = back inlet zone
                 5 = aux #1 zone
                 6 = aux #2 zone

GC RETURNS:
   no response

    Coding complete.

==========================================================
DTZG        Set/Report zone PID constants             DTZG
----------------------------------------------------------

FUNCTION:
    To set or report a thermal zone PID constants.

HOST ISSUES:
 DTssZG <password>,<P gain>,<I gain>,<D gain>

GC RETURNS:
 no response

HOST ISSUES:
 DTssZG ?

GC RETURNS:
 ssDTZG <P gain>,<I gain>,<D gain>

NOTE:  You MUST select the zone to be set/read by executing
       the command DTZN beforehand.

STATUS:
    Coding complete.

==========================================================
DTZN             Set the zone to be tuned             DTZN
----------------------------------------------------------

FUNCTION:
    Set the thermal zone, oven heater or cryo to be tuned.
    This gives you access to debug variables used exclusively
    by the zone being tuned.  It also is required when setting
    a zone PID constants.

HOST ISSUES:
 DTssZN <zone type>

   <zone type> : 0  = oven heater
                 1  = front detector zone
                 2  = back detector zone
                 3  = front inlet zone
                 4  = back inlet zone
                 5  = aux #1 zone
                 6  = aux #2 zone
                 7  = oven cryo valve
                 8  = front inlet cryo valve
                 9  = back inlet cryo valve
                 10 = aux #1 cryo valve
                 11 = aux #2 cryo valve

GC RETURNS:
   no response

 DTssZN ?

GC RETURNS:
 ssDTZN <zone type>

STATUS:
    Coding complete.

==========================================================
DTZP        Report zone wattage sense values          DTZP
----------------------------------------------------------

FUNCTION:
    To report the zone wattage sense values.  These are
sensed at power on.

HOST ISSUES:
 DTssZP

GC RETURNS:
 ssDTZN {zone wattage list}

        {zone wattage list} = <frnt det watts>,<back det watts>,
                              <frnt inlet watts>,<back inlet watts>,
                              <aux #1 watts>,<aux #2 watts>

        <watts> = { less than 70 watts greater than 30  = 0,
                    less than 150 watts greater than 70 = 1,
                    greater than 150                    = 2,
                    no heater (less than 30 watts)      = 3,
                    over current                        = 4

                  }

STATUS:
    Coding complete.

==========================================================
DTZR     Set/Report zone ramp compensation values     DTZR
----------------------------------------------------------

FUNCTION:
    To set or report a thermal zone control ramp compensation parameters.


         DESCRIPTION:
         -----------
         The ramp compensation algorithm is used to compensate for the delay
         time from when heat is applied to a heated zone to when it is sensed
         by its sensor.  The algorithm looks for an upcoming ramp and starts
         to apply an addition amount of heat <ramp comp delay> seconds before
         the ramp begins.  It continues to apply this additional heat until
         <ramp comp delay> seconds before the ramp ends.

         The heater demand is augmented by an addition amount based upon the
         ramp comp multiplier, ramp comp divisor, and the ramp rate as follows:

               demand = rate * <ramp comp multiplier> / <ramp comp divisor>

               rate: 1000ths of a degree C per min., e.g. a rate of 20 would be
                     20000.

               demand: the heater duty cycle is calculated from the heater
                       demand as follows:

                       DC (%) = demand / <line power>

                       where <line power> is nominally 128.

        <ramp comp delay> dead time from when heat is applied until the
                          sensor senses the change in 1/10ths of a second
HOST ISSUES:
 DTssZR <ramp comp type>,<ramp comp multiplier>,<ramp comp divisor>,
        <ramp comp delay>

        <ramp comp type>:  NO_RAMP_COMP  = 0
                           COC_RAMP_COMP = 1
                           ACI_RAMP_COMP = 2

          where:
            NO_RAMP_COMP  - apply no ramp compensation
            COC_RAMP_COMP - use the COC inlet ramp compensation values
                            unless redefined by subsequent
                            <ramp comp multiplier>,
                            <ramp comp divisor>, and/or
                            <ramp comp delay> parameters.

            ACI_RAMP_COMP - use the ACI inlet ramp compensation values
                            unless redefined by subsequent
                            <ramp comp multiplier>,
                            <ramp comp divisor>, and/or
                            <ramp comp delay> parameters.

        <ramp comp multiplier> multiplier for the calculation of the additional
                             heater demand to apply.

        <ramp comp divisor>  divisor for the calculation of the additional
                             heater demand to apply.

GC RETURNS:
 no response

HOST ISSUES:
 DTssZR ?

GC RETURNS:
 ssDTZR <ramp comp type>,<ramp comp multiplier>,<ramp comp divisor>,
        <ramp comp delay>

NOTE:  You MUST select the zone to be set/read by executing
       the command DTZN beforehand.

STATUS:
    Coding complete.

==========================================================
DTZT        Set/Report zone tuning constants          DTZT
----------------------------------------------------------

FUNCTION:
    To set or report a thermal zone tuning constants.

HOST ISSUES:
 DTssZT <P multiplier>,<I multiplier>,<D multiplier>,
        <P divisor>,<I divisor>,<D divisor>,
        <control frequency>,<cryo control type>,
        <min integral power>,<max integral power>,
        <min control error>,<max control error>,
        <sensor type>

        <P multiplier> - numerator used to calculate the PID proportional
                         gain, P = <P multiplier> >> <P divisor> where
                         >> is the shift right operator.

        <I multiplier> - numerator used to calculate the PID integral
                         gain, I = <I multiplier> >> <I divisor> where
                         >> is the shift right operator.

        <D multiplier> - numerator used to calculate the PID derivative
                         gain, D = <D multiplier> >> <D divisor> where
                         >> is the shift right operator.

        <P divisor>    - number of bits to shift right the <P multiplier>
                         to calculate the PID proportional gain,
                         P = <P multiplier> >> <P divisor>, where >> is the
                         shift right operator.

        <I divisor>    - number of bits to shift right the <I multiplier>
                         to calculate the PID integral gain,
                         I = <I multiplier> >> <I divisor>, where >> is the
                         shift right operator.

        <D divisor>    - number of bits to shift right the <D multiplier>
                         to calculate the PID derivative gain,
                         D = <D multiplier> >> <D divisor>, where >> is the
                         shift right operator.

        <control frequency> -  25.6 Hz or 5.12 Hz allowed
                         this is the zone control frequency in units of 1/100th
                         of a Hertz

        <cryo control type> -

           NO CRYO           = 0
           OVEN CRYO         = 1   ( only allowed for the oven )
           COC  CRYO         = 2   ( only allowed for the AC and COC inlets )
           CRYO CONTROL A    = 3
           CRYO CONTROL B    = 4
           AIR COOLED        = 5

        where:
          NO CRYO: no cryo cooling

          CRYO CONTROL A: cryo cooling for small zone relatively thermally
                          isolated from the oven, e.g. an insulated inlet.

             min LCO2 setpt:   -70
             min LN2  setpt:  -160

          CRYO CONTROL B: cryo cooling for small zone residing inside of
                          the GC oven.

             min LCO2 setpt:   -70
             min LN2  setpt:  -180

          AIR COOLED:  compressed air used to cool a zone between runs

        <min integral pwr clamp> - percent of full power clamp for integral
                                   sum for above setpoint integral accumulation,
                                   i.e. sum of (setpt-actual) < 0 errors

           where:

               200% of full power = 0,
               100% of full power = 1
                50% of full power = 2
                25% of full power = 3

        <max integral pwr clamp> - percent of full power clamp for integral
                                   sum for below setpoint integral accumulation,
                                   i.e. sum of (setpt-actual) > 0 errors

           where:

               200% of full power = 0,
               100% of full power = 1
                50% of full power = 2
                25% of full power = 3

        <min control error> - minimum temperature error at which to apply PID
                              control (setpt-actual)

           where error is less than zero

        <max control error> - maximum temperature error at which to apply PID
                              control (setpt-actual)

           where error is greater than zero

        <sensor type> - 0 = RTD
                        1 = thermocouple (NOTE: requires thermocouple conversion
                                                board)
GC RETURNS:
 no response

HOST ISSUES:
 DTssZT ?

GC RETURNS:
 ssDTZT <P gain>,<I gain>,<D gain>
        <P divisor>,<I divisor>,<D divisor>,
        <control frequency>,<cryo control type>,
        <min integral power>,<max integral power>,
        <min control error>,<max control error>,
        <sensor type>

NOTE:  You MUST select the zone to be set/read by executing
       the command DTZN beforehand.

STATUS:
    Coding incomplete.

==========================================================
DTZL        Set/Report zone limits                    DTZL
----------------------------------------------------------

FUNCTION:
    To set or report a thermal zone limits.

HOST ISSUES:
 DTssZL <min zone setpt>,<max zone setpt>,<max zone ramp rate>

GC RETURNS:
 no response

HOST ISSUES:
 DTssZL ?

GC RETURNS:
 ssDTZL <min zone setpt>,<max zone setpt>,<max zone ramp rate>

 <min zone setpt> - minimum allowable temperature setpoint in degrees C
  range:  -200 < min_setpt < 25 deg C.

 <max zone setpt> - maximum allowable temperature setpoint in degrees C
  range:  25 < max_setpt < 500 deg C.

 <max zone ramp rate> - maximum allowable ramp rate in 1/100th of a degree C
  range: 0.00 < max rate < 2048.00 degrees C/minute

NOTE:  You MUST select the zone to be set/read by executing
       the command DTZN beforehand.

NOTE:  For <zone type> = 0 ( oven heater ) only the "read" form of this
       command is operational . The "set" form is ignored by 6890 and no errors
       are generated .

STATUS:
    Coding complete.

VI.     PNEUMATICS COMMANDS

==========================================================
DTEN      Read Pneumatic Environment Reading Noise    DTEN
----------------------------------------------------------

FUNCTION:
    Read peak-to-peak noise values for the filtered, offset
    corrected adc readings from the pneumatics board environment
    readings.

HOST ISSUES:
 DTssEN

GC RETURNS:
 ssDTEN <FIT>,<BIT>,<FDT>,<BDT>,<AXT>,<ATM_PRES>,<10V_REF>,
        <ADC_OFFSET>,<FI_GAS_TYPE>,<BI_GAS_TYPE>,<PNEU_24V>

where:
        <FIT> = front inlet module thermistor adc reading noise
        <BIT> = back inlet module thermistor adc reading noise
        <FDT> = front detector module thermistor adc reading noise
        <BDT> = back detector module thermistor adc reading noise
        <AXT> = pneumatic aux module thermistor adc reading noise
        <ATM_PRES> = atmospheric pressure sensor reading noise
        <10V_REF> = 10V reference adc reading noise
        <ADC_OFFSET> = adc offset reading noise
        <FI_GAS_TYPE> = front inlet gas type adc reading noise
        <FI_GAS_TYPE> = back inlet gas type adc reading noise
        <PNEU_24V> = pneumatics 24V supply

EXAMPLES:

   HOST ISSUES:
    DTssEN

   GC RETURNS:
    ssDTEN 1,1,5,4,6,7,8,1,1,1,1

COMMENTS:

    Your response array should be 11 elements long.

    Noise is reported in ADC counts ( 13107 counts/volt ) after
    they have been filtered and offset corrected by the
    pneumatics board.

STATUS:
    Complete.

==========================================================
DTEV      Read Pneumatic Environment Reading Voltages DTEV
----------------------------------------------------------

FUNCTION:
    Read the the filtered, offset corrected adc readings
    from the pneumatics board environment readings.
    The adc offset reading (<ADC_OFFSET>) is not offset
    corrected.

HOST ISSUES:
 DTssEV

GC RETURNS:
 ssDTEN <FIT>,<BIT>,<FDT>,<BDT>,<AXT>,<ATM_PRES>,<10V_REF>,
        <ADC_OFFSET>,<FI_GAS_TYPE>,<BI_GAS_TYPE>,<PNEU_24V>

  type          description                                  conversion   offset  units
                                                             factor
  ----          -----------------------------------------    ----------   ------  -----

  <FIT>         front inlet module thermistor adc reading     (unique to module)
  <BIT>         back inlet module thermistor adc reading      (unique to module)
  <FDT>         front detector module thermistor adc reading  (unique to module)
  <BDT>         back detector module thermistor adc reading   (unique to module)
  <AXT>         pneumatic aux module thermistor adc reading   (unique to module)
  <ATM_PRES>    atmospheric pressure sensor reading           1.2663e-4   9.5006  PSI
  <10V_REF>     10V reference adc reading                     1.717e-4    0       Volts
  <ADC_OFFSET>  adc offset reading                            1/13107     0       Volts
  <FI_GAS_TYPE> front inlet gas type adc reading              1/13107     0       Volts
  <FI_GAS_TYPE> back inlet gas type adc reading               1/13107     0       Volts
  <PNEU_24V>    pneumatics 24V supply                         5.9663e-4   0       Volts

EXAMPLES:

   HOST ISSUES:
    DTssEV

   GC RETURNS:
    ssDTEV 100,100,500,400,600,700,800,100,0,100,24000

COMMENTS:

    Your response array should be 11 elements long.

    Values are reported in ADC counts ( 13107 counts/volt )

STATUS:
    Coding complete.

==========================================================
DTIF           Report inlet flow setpoints            DTIF
DTIB                                                  DTIB
-------------------------------------------------------------

FUNCTION:
   Report inlet flow setpoints.  This is a flow calculator
   function, where the total flow is the sum of the column,
   septum, and split flows.  The control mode the inlet is
   operating in is based upon the inlet setpoints.

HOST ISSUES:
 DTssIF

GC RETURNS:
 ssDTIF  <column flow>,<septum purge flow>,<split flow>,<total flow>,
         <inlet control mode>

    <column flow>        = Calculated NTP column flow
    <septum purge flow>  = Calculated NTP septum purge flow
    <split flow>         = Calculated NTP split flow
    <total flow>         = Calculated NTP total flow

    <inlet control mode> = control mode inlet is operating in:
        1 = forward flow, no pressure control
        2 = forward flow, back pressure control
        3 = no flow, forward pressure control

COMMENTS:
    Flow is in units of ul/min.

STATUS:
    Coding complete.


==========================================================
DTIV           Operate Inlet Solenoid Valve           DTIV
-------------------------------------------------------------

FUNCTION:
   Manually operate the inlet solenoid valve.

HOST ISSUES:
 DTssIV  <FI mode>,<FI state>,<BI mode>,<BI state>

GC RETURNS:
 no response

EXAMPLES:

   HOST ISSUES:
    DTssIV  1,1,0,0    Enable FI diag mode, and open valve  , disable BI diag mode
    DTssIV  1,0,0,0    Enable FI diag mode, and close valve , disable BI diag mode
    DTssIV  0,0,0,0    Disable FI diag mode                 , disable BI Diag mode

    DTssIV  0,0,1,1    Disable FI diag mode, Enable BI diag mode, and open valve
    DTssIV  0,0,1,0    Disable FI diag mode, Enable BI diag mode, and close valve
    DTssIV  0,0,0,0    Disable FI diag mode, Disable BI diag mode

    DTxxIV  1,1,1,1    Enable diag mode for both inlets and open both valves
    DTxxIV  1,0,1,0    Enable diag mode for both inlets and close both valves


HOST ISSUES:
 DTssIV ?

GC RETURNS:
 ssDTIV <FI mode>,<FI state>,<BI mode>,<BI state>

COMMENTS:

    For state to be recognized, diag mode must be enabled.
    Diag mode must be disabled for normal operation.
    GC will be not ready while in diag mode.  This can be cleared by DTCL
    command.

STATUS:
    Complete.

==========================================================
DTMI     Read pneumatics module build information     DTMI
----------------------------------------------------------

FUNCTION:
    Read pneumatics module build information consisting of:
    serial number, type, version, build date, and test station I.D.

HOST ISSUES:
 DTssMI <module_no>

        <module_no>:
                     FRNT_INLET_MODULE_NUMBER   = 0
                     BACK_INLET_MODULE_NUMBER   = 1
                     FRNT_DETECTOR_MODULE_NUMBER= 2
                     BACK_DETECTOR_MODULE_NUMBER= 3
                     PNEU_AUX_MODULE_NUMBER     = 4

GC RETURNS:
 ssDTMI <serial_no>,<type>,<version>,<build_date>,<test_station_id>

        <serial_no>:    32-bit value
        <type>:         16-bit value in hexadecimal where with the following
                        format:
                          upper byte:  <module_type>
                          lower byte:  <inlet_type>|<det_type>|<aux_type>

        <module_type>:  { INLET_MODULE = 1, DET_MODULE   = 2, AUX_MODULE   = 3 }
        <inlet_type>:   See GCCF command
        <det_type>:     See GCCF command
        <aux_type>:     See GCCF command

        <version>:      16-bit value in hexadecimal
        <build_date:    date in <day>,<month>,<year>
        <test_station_id>: unsigned 16-bit value indicating the I.D. of the test
                           station

EXAMPLES:

   Read the module information for the front inlet module (built Dec 25, 1994):

   HOST ISSUES:
    DTssMI 0

   GC RETURNS:
    ssDTMI 0ab5,13,2,25,12,94,1

COMMENTS:

STATUS:
    Coding Complete.

==========================================================
DTMT           Read Module Temperature                DTMT
-------------------------------------------------------------

FUNCTION:
    Read filtered, averaged, offset corrected voltages pneumatics
    temperature sensors and the corresponding module temperatures
    in degree K.

HOST ISSUES:
 DTssMT

GC RETURNS:
 ssDTMT <FIT>,<BIT>,<FDT>,<BDT>,<AXT>,<FI Temp>,<BI Temp>,
                <FD Temp>,<BD Temp>,<AX Temp>

where:
        <FIT> = front inlet module thermistor adc reading
        <BIT> = back inlet module thermistor adc reading
        <FDT> = front detector module thermistor adc reading
        <BDT> = back detector module thermistor adc reading
        <AXT> = pneumatic aux module thermistor adc reading
        <FI Temp> = front inlet module temp in degrees K
        <BI Temp> = back inlet module temp in degrees K
        <FD Temp> = front detector module temp in degrees K
        <BD Temp> = back detector module temp in degrees K
        <AX Temp> = pnau aux module temp in degrees K


EXAMPLES:

   HOST ISSUES:
    DTssMT

   GC RETURNS:
    ssDTMT 181,181,2345,1234,1456,298.00,299.00,300.00,327.00,290.00

COMMENTS:

    your response array had better be 10 elements long.

    voltage is reported in ADC counts.  ( 13107 counts/volt )

    uses default values to compute temp if temp module is not
    calibrated

STATUS:
    Complete.

==========================================================
DTPD       Set/Read pneumatic duty cycles             DTPD
-------------------------------------------------------------

FUNCTION:
    Set the pneumatic control duty cycles, read the pneumatic
    duty cycle setpoints and actuals.

HOST ISSUES:
 DTssPD <FIPdcs>,<FIFdcs>,<BIPdcs>,<BIFdcs>,<FD1Pdcs>,<FD2Pdcs>,<FD3Pdcs>,
        <BD1Pdcs>,<BD2Pdcs>,<BD3Pdcs>, <AX3Pdcs>,<AX4Pdcs>,<AX5Pdcs>


GC RETURNS:
   no response

   where:  <FIPdcs> = front inlet pressure duty cycle setpoint
           <FIFdcs> = front inlet flow duty cycle setpoint
           <BIPdcs> = back inlet pressure duty cycle setpoint
           <BIFdcs> = back inlet flow duty cycle setpoint
           <FD1dcs> = front detector pressure 1 duty cycle setpoint
           <FD2dcs> = front detector pressure 2 duty cycle setpoint
           <FD3dcs> = front detector pressure 3 duty cycle setpoint
           <BD1dcs> = back detector pressure 1 duty cycle setpoint
           <BD2dcs> = back detector pressure 2 duty cycle setpoint
           <BD3dcs> = back detector pressure 3 duty cycle setpoint
           <AX3Pdcs> = aux pressure 3 duty cycle setpoint
           <AX4Pdcs> = aux pressure 4 duty cycle setpoint
           <AX5Pdcs> = aux pressure 5 duty cycle setpoint

COMMENTS: YOU SHOULD ONLY CHANGE ONE SETPOINT AT A TIME.  ALL OTHER
          VALUES SHOULD BE EMPTY FOR FASTEST POSSIBLE SETPOINT CHANGE.

          For example to set Auxiliary 5 pressure valve to 50% duty cycle
          with all others unchanged do:

          DTssPD ,,,,,,,,,,50

          not

          DTssPD 0,0,0,0,0,0,0,0,0,50.

          Sending more than one setpoint will delay the setpoint change
          for the desired channel.

HOST ISSUES:
 DTssPD ?

GC RETURNS:
 ssDTPD <FIPdcs>,<FIFdcs>,<BIPdcs>,<BIFdcs>,<FD1Pdcs>,<FD2Pdcs>,<FD3Pdcs>,
        <BD1Pdcs>,<BD2Pdcs>,<BD3Pdcs>, <AX3Pdcs>,<AX4Pdcs>,<AX5Pdcs>,
        <FIPdca>,<FIFdca>,<BIPdca>,<BIFdca>,<FD1Fdca>,<FD2Fdca>,<FD3Fdca>,
        <BD1Fdca>,<BD2Fdca>,<BD3Fdca>, <AX3Pdca>,<AX4Pdca>,<AX5Pdca>

   where:  <FIPdca> = front inlet pressure duty cycle actual
           <FIFdca> = front inlet flow duty cycle actual
           <BIPdca> = back inlet pressure duty cycle actual
           <BIFdca> = back inlet flow duty cycle actual
           <FD1dca> = front detector pressure 1 duty cycle actual
           <FD2dca> = front detector pressure 2 duty cycle actual
           <FD3dca> = front detector pressure 3 duty cycle actual
           <BD1dca> = back detector pressure 1 duty cycle actual
           <BD2dca> = back detector pressure 2 duty cycle actual
           <BD3dca> = back detector pressure 3 duty cycle actual
           <AX3Pdca> = aux pressure 3 duty cycle actual
           <AX4Pdca> = aux pressure 4 duty cycle actual
           <AX5Pdca> = aux pressure 5 duty cycle actual

EXAMPLES:

   HOST ISSUES:
    DTssPD ?

   GC RETURNS:
      ssDTPD 0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13

NOTE:
    A duty cycle setpoint of 0 returns the pressure/flow control to
    normal operation.

    Duty cycles values are in units of percent, e.g. for a 50% duty
    cycle you would see the value 50.

STATUS:
    Complete.

==========================================================
DTPN    Read filtered sensor peak-to-peak noises      DTPN
-----------------------------------------------------------

FUNCTION:
    Read peak-to-peak noises for the  flow and pressure sensor
    readings after they have been filtered and offset corrected
    by the pneumatics board

HOST ISSUES:
 DTssPN

GC RETURNS:
 ssDTPN <FIP>,<FIF>,<BIP>,<BIF>,<FD1F>,<FD2F>,<FD3F>,<BD1F>,<BD2F>,<BD3F>,
        <AX3P>,<AX4P>,<AX5P>

EXAMPLES:

   HOST ISSUES:
    DTssPN

   GC RETURNS:
    ssDTPN 181,181,2345, ... 1234,1456

COMMENTS:

    your response array had better be 13 elements long.

    noise is reported in ADC counts ( 13107 counts/volt ) after
    they have been filtered and offset corrected by the
    pneumatics board.


STATUS:
    Complete.

==========================================================
DTPO Read calculated pneumatic sensor offset voltages DTPO
----------------------------------------------------------

FUNCTION:
    Read the offset voltages for the pneumatic sensors.
    These values are calculated sensor offset voltages at the
    CURRENT module temperature based upon values stored in the
    module EEPROM.

HOST ISSUES:
 DTssPO

GC RETURNS:
 ssDTPO <FIPo>,<FIFo>,<BIPo>,<BIFo>,<FD1Po>,<FD2Po>,<FD3Po>,
        <BD1Po>,<BD2Po>,<BD3Po>,<AX3Po>,<AX4Po>,<AX5Po>

      <FIPo>: front inlet pressure sensor offset voltage
      <FIFo>: front inlet flow sensor offset voltage
      <BIPo>: front inlet pressure sensor offset voltage
      <BIFo>: front inlet flow sensor offset voltage
      <FD1Po>: front detector fuel pressure sensor offset voltage
      <FD2Po>: front detector utility pressure sensor offset voltage
      <FD3Po>: front detector makeup pressure sensor offset voltage
      <BD1Po>: back detector fuel pressure sensor offset voltage
      <BD2Po>: back detector utility pressure sensor offset voltage
      <BD3Po>: back detector makeup pressure sensor offset voltage
      <AX3Po>: auxiliary #3 pressure sensor offset voltage
      <AX4Po>: auxiliary #4 pressure sensor offset voltage
      <AX5Po>: auxiliary #5 pressure sensor offset voltage

EXAMPLES:

   HOST ISSUES:
    DTssP0

   GC RETURNS:
    ssDTPO 1.023,1.019,1.008,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000

COMMENTS:

    your response array should be 13 elements long.

    voltage is reported in voltage with a decimal significance of XX.XXX,
    for example an offset of 1 volt would be transmitted as 1.000.


STATUS:
    Coding complete.

==========================================================
DTPR     Read real pneumatic setpoints and actuals    DTPR
----------------------------------------------------------

FUNCTION:
    Read pneumatic true controlling setpoints and actuals that
    are derived from workfile setpoints by applying NTP correction.

HOST ISSUES:
 DTssPR

GC RETURNS:
 ssDTPR <FIPs>,<FIFs>,<BIPs>,<BIFs>,<FD1Ps>,<FD2Ps>,<FD3Ps>,
        <BD1Ps>,<BD2Ps>,<BD3Ps>, <AX3Ps>,<AX4Ps>,<AX5Ps>
        <FIPa>,<FIFa>,<BIPa>,<BIFa>,<FD1Pa>,<FD2Pa>,<FD3Pa>,
        <BD1Pa>,<BD2Pa>,<BD3Pa>, <AX3Pa>,<AX4Pa>,<AX5Pa>

NOTE:    FIPs is front inlet pressure setpoint
         FIPa is front inlet pressure actual, etc.
         The detector real setpoints and actuals are reported in pressure,
         not flow.

EXAMPLES:

   HOST ISSUES:
    DTssPR

   GC RETURNS:
    ssDTPR 181,181,2345, ... 1234,1456

COMMENTS:

    your response array had better be 26 elements long.
    pressure and flow values are returned in ul/min and dynes/cm sq.
    respectively.

STATUS:
    Complete.

==========================================================
DTPV           Read filtered sensor adc readings      DTPV
-------------------------------------------------------------

FUNCTION:
    Read filtered, averaged, offset corrected adc readings from
    the pneumatics pressure and flow sensors.

HOST ISSUES:
 DTssPV

GC RETURNS:
 ssDTPV <FIP>,<FIF>,<BIP>,<BIF>,<FD1F>,<FD2F>,<FD3F>,<BD1F>,<BD2F>,<BD3F>,
        <AX3P>,<AX4P>,<AX5P>

EXAMPLES:

   HOST ISSUES:
    DTssPV

   GC RETURNS:
    ssDTPV 181,181,2345, ... 1234,1456

COMMENTS:

    your response array had better be 13 element long.

    voltage is reported in ADC counts.  ( 13107 counts/volt )

STATUS:
    Complete.

==========================================================
DTRE Read contents of a module EEPROM memory location DTRE
----------------------------------------------------------

FUNCTION:
    Read the contents and definition of a given pneumatics
    module EEPROM memory location. The command reads
    16 bits at a time.

HOST ISSUES:
 DTssRE <module_no>, address

GC RETURNS:
 ssDTRE <value>,<descriptor string>

        all numeric parameters can be in either decimal
        or hexadecimal format ( eg. 255 or 0xff )

        <module_no>:
                     FRNT_INLET_MODULE_NUMBER   = 0
                     BACK_INLET_MODULE_NUMBER   = 1
                     FRNT_DETECTOR_MODULE_NUMBER= 2
                     BACK_DETECTOR_MODULE_NUMBER= 3
                     PNEU_AUX_MODULE_NUMBER     = 4


        <address> = EEPROM location
        <value> = unsigned 16-bit word
        <descriptor string> = ASCII string describing the definition
                              of that location (size < 30 characters)
EXAMPLES:

   HOST ISSUES:
    DTssRE 2,5

   GC RETURNS:
    ssDTRE 65536,"05 Serial Number Low      "

COMMENTS:

    An invalid address returns no response and logs an error in the
    error log.

    No pneumatics board installed returns no response and logs an error.

STATUS:
    Complete.


==========================================================
DTAP return current atmospheric pressure
----------------------------------------------------------

FUNCTION: return current atmospheric pressure

HOST ISSUES:
 DTssAP ?

GC RETURNS:
 ssDTAP <value>

        <value> = atmospheric pressure in dynes/cm2  (psi * 68947.57)
EXAMPLES:

   HOST ISSUES:
    DTssAP ?

   GC RETURNS:
    ssDTAP 1005680

STATUS:
    Complete.



                                   --------
                                   Appendix
                                   --------

Part A.  RESPONSE DEFINITIONS

   Definition of the return codes:

<return code> =
{
   OK              = 0,
   PARAM_TOO_LARGE = 1,
   PARAM_TOO_SMALL = 2,
   INVALID_PARAM   = 3,  /* wrong param type (number vs alpha vs boolean-0or1)*/
   NO_INSTR        = 4,  /* no instruction was found in input msg */
   INSTR_SYNTAX    = 5,  /* beginning of instr was found but not complete */
   INVALID_DEST    = 6,  /* instruction syntax was OK but dsap was unknown */
   INVALID_OP      = 7,  /* the operation specified in the cmd is invalid */
   PARAM_LENGTH    = 8,  /* max len of all param (MAX_PARM_LEN) was exceeded */
   NUM_OF_PARAM    = 9,  /* max number of param. (MAX_PARM_NUN) was exceeded */
   MISSING_PARAM   = 10, /* required param. was not present */
   PARAM_SYNTAX    = 11,  /* non printing char found in parameter */
   SYNTAX_ERROR    = 12, /* syntax error in the command */
   NOT_INSTALLED   = 13,
   NOT_ALLOWED     = 14, /* param is valid, but not allowed in this case */
   NOT_COMPATIBLE  = 15, /* param is not compatible with hardware installed */
   OVEN_GT_MAX     = 16, /* Oven temp > Oven Maximum param */
   INIT_GT_MAX     = 17, /* Oven init temp > Oven maximum param */
   FINAL1_GT_MAX   = 18, /* Oven final temp 1 > Oven maximum param */
   FINAL2_GT_MAX   = 19, /* Oven final temp 2 > Oven maximum param */
   FINAL3_GT_MAX   = 20, /* Oven final temp 3 > Oven maximum param */
   FINAL4_GT_MAX   = 21, /* Oven final temp 4 > Oven maximum param */
   FINAL5_GT_MAX   = 22, /* Oven final temp 5 > Oven maximum param */
   FINAL6_GT_MAX   = 23, /* Oven final temp 6 > Oven maximum param */
   OVEN_CALIB_MAX  = 24, /* Oven calibration value higher than max */
   OVEN_CALIB_MIN  = 25, /* Oven calibration value lower than max  */
   PARAM_CHANGED   = 26, /* One or more parameters were modified */
   NOT_VALID_DURING_RUN = 27,     /* Cannot be excuted when gc is in a run */
   NOT_VALID_DURING_SCC_RUN = 28, /*Cannot be excuted when gc is in an scc run*/
   SCC_RUN_LENGTH_TOO_SHORT = 29, /* Run length too short to do a blank run */
   NO_SCC_DATA         = 30, /* No column compensation data stored for ccomp1 or 2*/
   NOT_VALID_IN_OVEN_TRACK_MODE = 31,/*Cannot set the temp while in track mode*/
   SCC1_DET_SETPT      = 32, /* Col comp1 setpt det setpt is set to NULL_POSITION */
   SCC2_DET_SETPT      = 33, /* Col comp2 setpt det setpt is set to NULL_POSITION */
   FRONT_DET_OFF       = 35, /* Front detector board is OFF                   */
   BACK_DET_OFF        = 36, /* Back detector board is OFF                    */
   TABLE_FULL          = 37, /* Run/Clock/? table full                        */
   TABLE_ENTRY_EMPTY   = 38, /* attempt to read an empty table entry          */
   WRONG_VERSION       = 39, /* Sequence/Method invalid version # */
   CORRUPTED_MEMORY    = 40, /* Local (IQ) stored sequence/method corrupt     */
   LINK_ERROR          = 41, /* Data Comm Link error */
   LINK_ABNORMAL_BREAK = 42, /* abnormal break in communications */
   LINK_DATA_ERROR     = 43, /* data error (parity, framing etc) */
   LINK_OVERRUN        = 44, /* data overrun error; data lost */
   TEST_PASSED         = 45, /* requested test passed */
   TEST_FAILED         = 46, /* requested test failed */
   SAMPLER_OFFLINE     = 47, /* ALS not responding    */
   COMMAND_ABORTED     = 48, /* cmd error - subsequent parameters ignored (IXSP IXPP CxNR ) */
   TIME_OUT            = 49, /* instruction timed out due to error in system */
   PARAM_ABORTED       = 50, /* parameter was judged invalid and ignored, remainder of command continued (GCPO) */
   INVALID_PATH        = 51, /* a pass thru cmd was found with path not set up or path is in use by another datacomm port. */
   EXCEEDS_CALIB_RANGE = 52, /* calibration would cause too much of a correction, attempt disallowed */
   OUTSIDE_ALLOWED_RANGE=53, /* attempted calibration too far away from span */
   IN_PROGRESS          =54, /* still calibrating (flow sensor offset) try checking again */
   PCB_CMD_FAILED       =55, /* command sent to pcb2 did not work. */


   OVFLOW_V25C          =56,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_DT            =57,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_DV            =58,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   ZERO_DV              =59,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_PS_OFFSET     =60,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_PS_SPAN       =61,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_PS_DOFFSET    =62,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_PS_DSPAN      =63,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   ZERO_PS_RANGE        =64,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   ZERO_PS_DCM2         =65,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   ZERO_PS_OFFSET       =66,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   ZERO_PS_SPAN         =67,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_FS_ALPHA_HIGH =68,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_FS_ALPHA_LOW  =69,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_FS_BETA_HIGH  =70,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_FS_BETA_LOW   =71,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_FS_OFFSET     =72,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_FS_REF_TEMP   =73,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_FS_MAX_FLOW   =74,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_FS_DALPHA     =75,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_FS_DBETA      =76,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_FS_DOFFSET    =77,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   ZERO_FS_OFFSET       =78,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   ZERO_FS_ALPHA_LOW    =79,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   ZERO_FS_BETA_LOW     =80,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   BAD_SWITCH_FLOW      =81,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_PURGE_FLOW    =82,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   OVFLOW_DF_DP         =83,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   ZERO_PURGE_FLOW      =84,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   INVALID_GAS          =85,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   EEPROM_WRITE_ERROR   =86,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   EEPROM_READ_ERROR    =87,  /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */
   INAPPROPRIATE_MODULE =88   /* defined in pi_mcalib.c, used by pneu manufacting calib cmds */

} UI_ERR;

<zone type> =
{
   OVEN_ZONE  = 0,
   DETA_ZONE  = 1,
   DETB_ZONE  = 2,
   INJA_ZONE  = 3,
   INJB_ZONE  = 4,
   AUXA_ZONE  = 5,
   AUXB_ZONE  = 6,
   CRYO_ZONE  = 7

} ZONE_TYPE;


Part B.  Description of Detector Diagnostics Controls and Expected Responses

  FID Detector (ID Code 0001):

     Inputs:

          On/Off: Turns on and off the High Voltage Supply.

          Input 0 (Pin C4): Disables the input signal for offset
               calibration or A/D diagnostics.

          Input 1 (Pin B4): Ignitor ON/OFF.

          Input 2 (Pin A4): No function.

          Input 3 (Pin C3): No function.

          DSP Input: No function.

          Serial Interface: No function.

     Expected Responses:

          Signal: Normal operation with Hi V on, all other
              controls off.
              Input disabled - Raw detector reading is the offset
              value.
              Ignitor on - Reading will be higher than normal
              flame off value.

          V Out 1: The Ignitor Voltage -
               Shorted Ignitor or no power from drive circuit (Off): < 0.05V
               Normal Operation (On): 0.1V to 0.15V
               Open ignitor or ignitor not connected (On or Off): 0.2V to 0.3V
               Shorted Drive FET (On or Off): > 2V

          V Out 2: Not used.

  TCD Detector (ID Code 0010):

     Inputs:

          On/Off: Turns on and off the Filament Power.

          Input 0 (Pin C4): Disables DSP control of the switching
               valve for offset calibration or A/D diagnostics.

          Input 1 (Pin B4): When DSP input is disabled, turns the
               valve on and off.

          Input 2 (Pin A4): Sets the Gas Type.  He, H2 = 0; N2,
               Ar = 1.

          Input 3 (Pin C3): Filament Temperature Setpoint.  Lo
               (260 deg. C) = 0; Hi (450 deg. C) = 1.

          DSP Input: Controls the switching valve.

          Serial Interface: No function.

               Description of Detector Diagnostics
                 Controls and Expected Responses
     Expected Responses:

          Signal: Normal operation with filament on, Input 0 (Pin
              C4) off, and Gas Type set appropriately.
              Valve switching disabled - Raw detector reading is
              the A/D offset value, approximately half scale.

          V Out 1: The bridge voltage.

                    Filament Status     Voltage
               ____________________________________
               |      Normal          | 0.1 to .65 |
               |----------------------|------------|
               |      Open            | < 0.05     |
               |----------------------|------------|
               |      Shorted         | > .85      |
               |______________________|____________|

          V Out 2: The switching valve voltage.

                    Valve Status           State       Voltage
               _________________________________________________
               |    Good              |  On       | 0.5 to 0.75 |
               |----------------------|-----------|-------------|
               |    Good              |  Off      | 0.0 to 0.1  |
               |----------------------|-----------|-------------|
               |    Open              |  On       | 0.7 to 0.8  |
               |----------------------|-----------|-------------|
               |    Open              |  Off      | 0.2 to 0.4  |
               |----------------------|-----------|-------------|
               |    Shorted           | On or Off | 0.0 to 0.1  |
               |______________________|___________|_____________|

               Description of Detector Diagnostics
                 Controls and Expected Responses

  ECD Detector (ID Code 0011):

     Inputs:

          On/Off: Turns on and off the Pulser circuit.

          Input 0 (Pin C4): Disables the input signal for offset
               calibration or A/D diagnostics.

          Input 1 (Pin B4): No function.

          Input 2 (Pin A4): Selects the Gas Type.  ArMe = 0; N2 =
               1.

          Input 3 (Pin C3): No function.

          DSP Input: No function.

          Serial Interface: Used to load an 8 bit value into the
               Cell Control Current DAC.

     Expected Responses:

          Signal: Normal operation with pulser on and Gas Type
              set appropriately.

          V Out 1: The output voltage of the reference current
               DAC.  Normal range is 0 to 1V over the input of 0
               to 255 counts.

          V Out 2: Not Used.

  NPD Detector (ID Code 0100):

     Inputs:

          On/Off: Turns on and off the High Voltage Supply

          Input 0 (Pin C4): Disables the input signal for offset
               calibration or A/D diagnostics.

          Input 1 (Pin B4): Turns on and off the Bead Power.

          Input 2 (Pin A4): No function.

          Input 3 (Pin C3): No function.

          DSP Input: No function.

          Serial Interface: Used to load an 8 bit value into the
               Bead Voltage DAC.

     Expected Responses:

          Signal: Normal operation with Hi V and Bead Power on,
              all other controls off.
              Input disabled - Raw detector reading is the offset

               Description of Detector Diagnostics
                 Controls and Expected Responses
              value.
              Bead on - Reading will be higher than bead off
              value (assuming bead power setting is high enough,
              and bead has warmed up).

          V Out 1: The bias voltage.

          V Out 2: The bead voltage.

               Description of Detector Diagnostics
                 Controls and Expected Responses

  FPD Detector (ID Code 0101):

     Inputs:

          On/Off: Turns on and off the High Voltage Supply.

          Input 0 (Pin C4): Disables the input signal for offset
               calibration or A/D diagnostics.

          Input 1 (Pin B4): Turns on and off the Ignitor.

          Input 2 (Pin A4): No function.

          Input 3 (Pin C3): No function.

          DSP Input: No function.

          Serial Interface: No function.

     Expected Responses:

          Signal: Normal operation with Hi V on, all other
              controls off.
              Input disabled - Raw detector reading is the offset
              value.
              Ignitor on - Reading will be higher than ignitor
              off value (with Hi V on).

          V Out 1: The Ignitor Voltage - Same as for FID ignitor.

          V Out 2: The feedback point of the Hi V voltage control
               circuit.

  Analog Input Board (ID Code 0110):

     Inputs:

          On/Off: No function.

          Input 0 (Pin C4): Disables the input signal for offset
               calibration.

          Input 1 (Pin B4): No function.

          Input 2 (Pin A4): No function.

          Input 3 (Pin C3): No function.

          DSP Input: No function.

          Serial Interface: No function.

     Expected Responses:

          Signal: Normal operation with all controls off.
              Input disabled - Raw detector reading is the offset
              value.

               Description of Detector Diagnostics
                 Controls and Expected Responses
          V Out 1: Input voltage after the first stage amplifier.

          V Out 2: Not Used.

Part C.  Mainboard mux'ed adc channel address map

     Reading       Address (hexadecimal)
     -------       ---------------------
  OVEN_TEMP_ADDR         0x04
  DETA_TEMP_ADDR         0x02
  DETB_TEMP_ADDR         0x01
  INJA_TEMP_ADDR         0x06
  INJB_TEMP_ADDR         0x07
  AUXA_TEMP_ADDR         0x03
  AUXB_TEMP_ADDR         0x00
  ADC_OFFSET_ADDR        0x05

  LINE_SENSE_ADDR        0x44
  PNEU_24V_ADDR          0x45

  DET_DIAGB_ADDR         0x64
  DET_DIAGC_ADDR         0x65
  DET_DIAGA_ADDR         0x66
  DET_DIAGD_ADDR         0x67

  ATTN1_ADDR             0x40
  ATTN2_ADDR             0x41

  DAC1_ADDR              0x42
  DAC2_ADDR              0x43

  GAIN_OFFSET_ADDR       0x46
  MON_24V_ADDR           0x47

  MON_5V_ADDR            0x60
  MON_15VPOS_ADDR        0x61
  MON_15VNEG_ADDR        0x62
  MON_GND_ADDR           0x63


/******************************************************************************/
/*                                W A R N I N G                               */
/******************************************************************************/

This command is DANGEROUS.  It can set the instrument
in an unusable state - even after power cycling the instrument.
It should be used only by manufacturing or product support!!!

==========================================================
DTXP           Send Cmd to PCB2 DSP                   DTXP
-------------------------------------------------------------

FUNCTION:
    Send a command to pcb2 dsp.

HOST ISSUES:
 DTssXP <p1>,<p2>,<p3>,<p4>,<p5>,<p6>,<p7>,<p8>, ... <p13>,<p14>,<p15>

GC RETURNS:
 ssDTXP <r1>,<r2>,<r3>,<r4>,<r5>,<r6>,<r7>,<r8>, ... <r13>,<r14>,<r15>

EXAMPLES:

   Execute the PCB2 self test:

   HOST ISSUES:
    DTssXP 3

   GC RETURNS:
    ssDTXP 1,0,0,0,0,0,0,0,0,0,0,0,0

COMMENTS:

    your response array had better be 16 element long.

    don't send more than 15 parameters.

    the command will compute and append the checksum for you.

STATUS:
    Complete.


/******************************************************************************/
/*                                W A R N I N G                               */
/******************************************************************************/

This command is DANGEROUS.  It can set the instrument
in an unusable state - even after power cycling the instrument.
It should be used only by manufacturing or product support!!!

==========================================================
DTWE      Write to a module EEPROM memory location    DTWE
----------------------------------------------------------

FUNCTION:
    Write to a given pneumatics module EEPROM memory location.
    This command writes a 16 bit word at a time.

HOST ISSUES:
 DTssWE <module_no>, <address>, <value>

GC RETURNS:
    No response

where:
        all parameters can be in either decimal or hexadecimal
        format ( eg. 255 or 0xff )

        <module_no>:
                     FRNT_INLET_MODULE_NUMBER   = 0
                     BACK_INLET_MODULE_NUMBER   = 1
                     FRNT_DETECTOR_MODULE_NUMBER= 2
                     BACK_DETECTOR_MODULE_NUMBER= 3
                     PNEU_AUX_MODULE_NUMBER     = 4


        <address> = EEPROM location
        <value> = unsigned 16-bit word

EXAMPLES:

   HOST ISSUES:
    DTssWE 2,5,0x4a

   GC RETURNS:
    no response

COMMENTS:

    An invalid address or no pneumatics board installed log an
    error in the error log.

STATUS:
    Complete.

/******************************************************************************/
/*                                W A R N I N G                               */
/******************************************************************************/

This command is DANGEROUS.  It can set the instrument
in an unusable state - even after power cycling the instrument.
It should be used only by manufacturing or product support!!!

=============================================================
DTPK                  Peek and Poke Memory               DTPK
-------------------------------------------------------------

FUNCTION:
    Read from or write to memory.

write:

HOST ISSUES:
 DTssPK 1,<address>,<data_size>,<value>

GC RETURNS:
   ssDTPK <return code>

read:

HOST ISSUES:
 DTssPK 0,<address>,<data_size>

GC RETURNS:
   ssDTPK <return code>,<value>

   <read_or_write>= READ|WRITE
   0 = READ
   1 = WRITE

   <address> = legal address in hexadecimal

   <data_size> = 8|16|32
   8  = 8-bit
   16 = 16-bit
   32 = 32-bit

   <value> = hexadecimal value of appropriate data size

   <return code> = See Appendix

EXAMPLES:

   Execute a write byte 40 hexadecimal to address 3a000h:

   HOST ISSUES:
    DTssPK 1,3a000,8,40

   GC RETURNS:
      ssDTPK 0

   Execute a read 32-bit word from address 3a000h:

   HOST ISSUES:
    DTssPK 0,300000,32

   GC RETURNS:
      ssDTPK 0,AAAA0000

STATUS:
    Coding complete.

-------------------------------------------------------------------------
IFFZ                                                                 IFFZ
IBFZ       Factory  Calibration - Set Zero Pressure Now              IBFZ
DFFZ                                                                 DFFZ
DBFZ                                                                 DBFZ
AXFZ                                                                 AXFZ
-------------------------------------------------------------------------
FUNCTION:
    This command is used to calibrate the zero pressure offset.
    This factory calibration is permenantly saved in the module
    eeprom and can always be restored.

    Issuing the command with a ? will return the sensor zero value(s).
    This is similar to the offsets in the ZP cmds except that
    factory not user values will be returned.

PART OF WORKFILE:  No

IFFZ, IBFZ syntax:
------------------

HOST ISSUES:
 IFssFZ 0

GC RETURNS:
 ssIFFZ 0,0                                 command executed without error.
 - or -
 ssIFFZ <return_code>,<parameter_number>    error response

HOST ISSUES:
 IFssFZ ?

GC RETURNS:
 ssIFFZ <factory_zero>   normal response to a ?


DFFZ, DBFZ syntax:
------------------

HOST ISSUES:
 DFssFZ 0

GC RETURNS:
 ssDFFZ 0,0                                 command executed without error.

 - or -
 ssDFFZ <return_code>,<parameter_number>    error response

HOST ISSUES:
 DFssFZ ?

GC RETURNS:
 ssDFFZ <gas_1_factory_zero>,<gas_2_factory_zero>,<gas_3_factory_zero>


AXFZ syntax:
------------

HOST ISSUES:
 A3ssFZ 0

GC RETURNS:
 ssA3FZ 0,0                                 command executed without error.

 - or -
 ssA3FZ <return_code>,<parameter_number>    error response

HOST ISSUES:
 A3ssFZ ?

GC RETURNS:
 ssA3FZ <aux_3_factory_zero>,<aux_4_factory_zero>,<aux_5_factory_zero>

NOTES:
1)  Set verions of this command always generates a response.  If an
    error occurs on a get (?) version, no response will be issued.

2)  The parameter in the set version of the command is unused but
    required.

3)  <factory_zero> is in dynes/cm2.


STATUS:
    Coding complete.


=============================================================
                      Firmware Download
-------------------------------------------------------------

Four commands are needed to download a new firmware revision.
The first command, DTEF, locks the flash buffer and erases it
ready to receive the new firmware. The second command, DTPF,
is used to transmit the data which contains the new firmware
revision. The third command, DTSF, checks the validity of the
data which have been downloaded. If the data are valid then
a flag is set which will be tested the next time the
instrument is reset. If a reset command, CCRS, is sent at
this time then the new firmware version will be programmed
into the executable area of flash memory.

=============================================================
DTEF                  Erase Flash Buffer                 DTEF
-------------------------------------------------------------

FUNCTION:
    Locks and erases buffer in Flash ROM to prepare for Flash
    ROM download, or unlocks buffer to allow use by another
    host. Also clears the flag that requests firmware to be
    updated on next reset.

NOTE:
    This command typically takes about 20 seconds to execute
    but could take as long as 2 minutes or more.

HOST ISSUES:
 DTssEF <compressed count>,<expanded count>

   <compressed count> the number of bytes of data required to
                      store the comressed version to be
                      downloaded

   <expanded count>   the number of bytes that the firmware
                      will occupy after it is uncompressed
                      and installed

GC RETURNS:
   ssDTEF <return code>

   <return code> = 0  for success, buffer is locked and erased
                   1  either byte count too large
                   2  either byte count too small or negative
                   3  either byte count not a valid number
                  10  missing parameter
                  14  not allowed, flash buffer already locked
                  91  flash failed to erase

HOST ISSUES:
 DTssEF 0,0

GC RETURNS:
   ssDTEF <return code>

   <return code> = 14  not allowed, flash buffer already locked
                       by another host
                   90  for success, buffer is unlocked and
                       available

EXAMPLES:

   HOST ISSUES:
    DTssEF 327680,655360

   GC RETURNS:
      ssDTEF 0

STATUS:
    Coding complete.

=============================================================
DTPF                  Program Flash Buffer               DTPF
-------------------------------------------------------------

FUNCTION:
    Program download buffer in Flash ROM. Data are sent in
    blocks of four bytes, each block encoded as five ASCII
    characters. No non-printing characters are used in the
    encoding scheme. Each transmission is programmed into the
    buffer starting where the previous transmission ended.
HOST ISSUES:
 DTssPF <program block>

GC RETURNS:
   ssDTPF <return code>

   <program block>= string of ASCII characters giving data values

   <return code> = 0  for success
                   3  invalid character found in program block
                  10  missing program block
                  14  not allowed, flash buffer not locked
                  91  flash failed to program
                  92  data extends beyond end of buffer

EXAMPLES:

   HOST ISSUES:
    DTssPF 7A$=T!"&]+$@)Z8

   GC RETURNS:
      ssDTPK 0

STATUS:
    Coding complete.

/******************************************************************************/
/*                                W A R N I N G                               */
/******************************************************************************/

This command is DANGEROUS.  It can set the instrument
in an unusable state - even after power cycling the instrument.
It should be used only by manufacturing or product support!!!

=============================================================
DTSF     Check Flash Buffer and Prepare to Install       DTSF
-------------------------------------------------------------

FUNCTION:
    Checks the validity of the contents of the Flash ROM
    buffer. If the contents are valid then a flag is set
    which will cause the new firmware to be programmed into
    the main program space the next time the instrument
    reboots.

HOST ISSUES:
 DTssSF

GC RETURNS:
   ssDTSF <return code>

   <return code> = 0  for success, data validated and flag set
                      to install on next instrument reset
                  14  not allowed, flash buffer not locked
                  93  unrecognizable data in flash buffer
                  94  corrupt or invalid data in flash buffer


STATUS:
    Coding complete.
